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(); } } }
|