This code implements the method of connecting the native database.
Operation Steps:
1, access the Control Panel, open "Administrative tools → data Source (ODBC)", pop-up "ODBC Data Source Administrator", in the User DSN tab, click the selected name is "Visio Database Sample", the driver is "Microsoft Access Driver (*.MDB,*.ACCDB) option (Note: *.mdb is the database extension for Access 2003, *.ACCDB is an extension of Access 2007 and above, if you do not see this option, make sure that the Access software is installed), and then click Add button, pop-up the Create New Data Source dialog box, select Microsoft Access Driver (*.MDB,*.ACCDB) (applicable to Access 2003 and access2007), click Finish to eject the ODBC Microsoft Access Installation dialog box, enter your Access database name in the data source name, such as "book", click the "Select" button, locate the database file (such as my book database file) on your computer in the pop-up dialog box, and then click the OK button. Return to the appropriate dialog box and select OK to finish, and finally back to ODBC data Source Administrator to see the book data source appearing in the user's data source.
2, the key to connect the database statement:
To load the driver:
String sdriver= "Sun.jdbc.odbc.JdbcOdbcDriver";
Class.forName (Sdriver);
To connect to a database:
Connection Dbcon=null;
String scon= "Jdbc:odbc:book"; Book is the name of the database
Dbcon=drivermanager.getconnection (Scon);
To perform a database operation:
Statement stmt=stmt=dbcon.createstatement ();
String ssql= "SELECT *" + "from Bookindex";
ResultSet rs=stmt.executequery (sSQL);
while (Rs.next ()) {
int num;
System.out.print (rs.getstring ("BookID") + ""); Output the value of the corresponding field
System.out.print (rs.getstring ("booktitle") + "");
System.out.print (rs.getstring ("Bookauthor"));
System.out.println ("" +rs.getfloat ("Bookprice"));
}
To close a database connection
Stmt.close ();
Dbcon.close ();
The instance code is as follows (with book database, table Bookindex, fields are: BookID, BookTitle, Bookauthor, Bookprice)
Import java.sql.*; public class Dbconntest {public static void main (String args[]) {//Step 1: Load driver String sdriver= "sun.jdbc.odbc.JdbcOdb
Cdriver ";
try{Class.forName (Sdriver);
catch (Exception e) {System.out.println ("Unable to load driver");
Return SYSTEM.OUT.PRINTLN ("Step 1: Load Driver--successful.")
");
Connection Dbcon=null;
Statement Stmt=null;
String scon= "Jdbc:odbc:book";
try{dbcon=drivermanager.getconnection (Scon); if (dbcon!=null) {System.out.println (step 2: Connecting to the database) is successful.
");
//Step 3: Establish JDBC Statement Object Stmt=dbcon.createstatement (); if (stmt!=null) {System.out.println (step 3: Create a JDBC Statement object)--success.
");
The catch (SQLException e) {System.out.println ("Connection error:" +scon);
System.out.println (E.getmessage ());
if (dbcon!=null) {try{dbcon.close ();
The catch (SQLException E2) {}} return;
try{//executes the database query, returning the result String ssql= "SELECT *" + "from Bookindex";
ResultSet rs=stmt.executequery (sSQL); while (Rs.next ()) {System.out.print (R)S.getstring ("BookID") + "");
System.out.print (rs.getstring ("booktitle") + "");
System.out.print (rs.getstring ("Bookauthor"));
System.out.println ("" +rs.getfloat ("Bookprice"));
The catch (SQLException e) {System.out.println (E.getmessage ()); } finally{ try{ //Closing of Step 3 Open St
Atement Object stmt.close ();
System.out.println ("Close Statement object"); } catch (SQLException e) {} try { //Close database connection dbcon.close (); &nb
sp; System.out.println ("Close Database Connection object"); } catch (SQLException e) {} }
}
}
The above method problem: Only for this machine is valid, change a computer can not find the data source, need to reconfigure the Access data source
When connecting to a database, you can specify the path to the database directly, preferably by putting the database and source files in a directory so that you do not have to configure the data source again. The method is as follows:
Change the specified data source statement code to the following:
Previous code:
String scon= "Jdbc:odbc:book";
Post-Change Code: (Note that the database is placed in the same directory as the program source file and, if used in Eclipse, in the project folder, with the. classpath sibling.)
String Scon = "Jdbc:odbc:driver={microsoft Access driver (*.mdb)};D Bq=book.mdb";
You can also create a folder in Eclipse, such as a DB folder, and then add a table of contents to the following statement:
String Scon = "Jdbc:odbc:driver={microsoft Access driver (*.mdb)};D Bq=db/book.mdb";
Examples are as follows:
Import java.sql.*; public class Dbconntest {public static void main (String args[]) {//Step 1: Load driver String sdriver= "sun.jdbc.odbc.JdbcOdb
Cdriver ";
try{Class.forName (Sdriver);
catch (Exception e) {System.out.println ("Unable to load driver");
Return SYSTEM.OUT.PRINTLN ("Step 1: Load Driver--successful.")
");
Connection Dbcon=null;
Statement Stmt=null;
String Scon = "Jdbc:odbc:driver={microsoft Access driver (*.mdb)};D Bq=book.mdb";
try{dbcon=drivermanager.getconnection (Scon); if (dbcon!=null) {System.out.println (step 2: Connecting to the database) is successful.
");
//Step 3: Establish JDBC Statement Object Stmt=dbcon.createstatement (); if (stmt!=null) {System.out.println (step 3: Create a JDBC Statement object)--success.
");
The catch (SQLException e) {System.out.println ("Connection error:" +scon);
System.out.println (E.getmessage ());
if (dbcon!=null) {try{dbcon.close ();
The catch (SQLException E2) {}} return;
try{//executes the database query, returning the result String ssql= "SELECT *" + "from Bookindex"; ResultSet Rs=stmt.executequery(sSQL);
while (Rs.next ()) {System.out.print (rs.getstring ("BookID") + "");
System.out.print (rs.getstring ("booktitle") + "");
System.out.print (rs.getstring ("Bookauthor"));
System.out.println ("" +rs.getfloat ("Bookprice"));
The catch (SQLException e) {System.out.println (E.getmessage ());
finally{try{//Close the statement object that is opened in step 3 stmt.close ();
SYSTEM.OUT.PRINTLN ("Close Statement object");
catch (SQLException e) {} try{//Close the statement object that is opened in step 3 dbcon.close ();
SYSTEM.OUT.PRINTLN ("Close Database Connection object");
The catch (SQLException e) {}}}}