JDBC已經包含在JDK1.1以後的版本中了,可以適用於對數據庫的訪問。
對於訪問MSSQL。建立ODBC數據源後,采用JDBC來實現對數據庫的訪問操作。
相關的主要類在java.sql包中。
假設我們現在mssql上有一個庫名為COMPANY,其中一張表為TB_NAME.我們希望從這張表裡按編號number取出相應記錄name。已經建立對應ODBC數據源為javadata.
希望用一個applet完成操作。
附程序主要部分供參考。這裡僅寫出一個init()方法,具體的界面請用AWT實現。
import java.net.*;
import java.sql.*;
public class dbexamp extends java.applet.Applet
{
public void init(){
String url="jdbc:odbc:javadata";
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection(url,"sa","");//mssql database user SA and
password
DatabaseMetaData dma=con.getMetaData();
System.out.println("Connect to"+dma.getURL());
System.out.println(";Driver "+dma.getDriverName());
System.out.println(";Version "+dma.getDriverVersion());
System.out.println("");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from company.dbo.TB_NAME where number=1");//Sql
rs.next();
String dispresult=rs.getString("name");
System.out.println(dispresult);// Instead,you can display it in Paint() or use AWT etc.
rs.close();
stmt.close();
con.close();
}
catch(SQLException ex){
System.out.println("!!!SQL Exception !!!");
while(ex!=null){
System.out.println("SQLState:"+ex.getSQLState());
System.out.println("Message:"+ex.getMessage());
System.out.println("Vendor:"+ex.getErrorCode());
ex=ex.getNextException();
System.out.println("");
}
}
catch(java.lang.Exception ex){
ex.printStackTrace();
}
}
}