Hejsa
Jeg ville personligt ikke bruge Pointbase, jeg bruger næsten altid MySQL som du kan finde på
www.mysl.org inklusiv en JDBC driver så du kan snakke med den.
Jeg har lavet den database handler klasse så man kan snakke med basen:
download en jdbc driver, du kan finde en via
www.mysql.comog brug så denne klasse til at connecte,
import java.sql.*;
/**
*
* @author srr
* @version
*/
public class dbHandler extends Object
{
private Connection con=null;
/** Creates new DataBase */
public dbHandler()
{
}
public boolean open(String dbDriverName, String dbClassName, String user, String pass)
{
// System.out.println(\"************************************************************************\");
try
{
if(con==null)
{
Class.forName(dbDriverName).newInstance();
con = DriverManager.getConnection(dbClassName, user, pass);
// System.out.println(\"con = \"+con);
}
}
catch (SQLException e)
{
e.printStackTrace(System.out);
return false;
}
catch (ClassNotFoundException e)
{
e.printStackTrace(System.out);
return false;
}
catch (InstantiationException e)
{
e.printStackTrace(System.out);
return false;
}
catch (IllegalAccessException e)
{
e.printStackTrace(System.out);
return false;
}
return true;
}
public void close()
{
if(con!=null)
{
try
{
con.close();
con=null;
}
catch (SQLException e)
{
e.printStackTrace(System.out);
}
}
}
public int doUpdate(String sql)
{
if(con!=null)
{
try
{
long time=System.currentTimeMillis();
Statement stat=con.createStatement();
// System.out.println(\"SQL Update = \"+(System.currentTimeMillis()-time)+\" ms \"+sql);
return stat.executeUpdate(sql);
}
catch (SQLException e)
{
e.printStackTrace(System.out);
}
}
return 0;
}
public ResultSet doQuery(String sql)
{
if(con!=null)
{
try
{
long time=System.currentTimeMillis();
Statement stat=con.createStatement();
// System.out.println(\"SQL Update = \"+(System.currentTimeMillis()-time)+\" ms \"+sql);
return stat.executeQuery(sql);
}
catch (SQLException e)
{
e.printStackTrace(System.out);
}
}
return null;
}
}
og denne klasse til at bruge den med
public class Database extends dbHandler
{
/** Creates new Database */
public Database()
{
}
public boolean open()
{
return super.open(\"org.gjt.mm.mysql.Driver\",\"jdbc:
mysql://SERVERNAME/DATABASENAVN\",\"USERNAME\",\"PASSWORD\");
}
}
ret det med uppercase
Hvis du så vil hente navn og id ud fra en tabel der hedder 'venner' gør du f.eks. følgende:
Du har en klasse der hedder 'ven' som gemmer venners navn og id, og har get/set metoder til dem.
List venner=new ArrayList(); //her lander dine venner
Database db=new Database();
String query="select navn,id from venner";
db.open();
ResultSet res=db.doQuery(query);
while(res.hasNext())
{
Ven ven=new ven();
ven.setNavn(res.getString("navn"));
ven.setID(res.getInt("id"));
venner.add(ven);
}
db.close();
**SLUT
Nu indeholder listen venner, et objekt af typen ven for hver post der var i tabellen 'venner' i databasen.
Hvis du har spørgsmål bare fyr løs :)
Jeg kan desværre ikke teste eksemplet, da jeg ikke har adgang til en MySQL database herfra :(