JDBC使用示例

一、與數據庫建立連接
要想和數據庫建立連接,首先要導入必要的package:

CODE:
<%@ page import="java.sql.*"%>
通過jdbc-odbc橋連接SQL Server數據庫:

CODE:
//加載jdbc-odbc驅動程序
class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//通過數據源連接:
String url ="jdbc:odbc:YourDSN";
String login = "sa";
String password ="";
Connection conn = DriverManager.getConnection(url,login,password);
//通過機器名或IP連接:
String url = "jdbc:odbc:Driver={SQL Server};Server=imagebear;uid=sa;pwd=;Database=jspdb";
//如果用IP只需將imagebear改爲192.168.0.36即可
Connection conn = DriverManager.getConnection(url);
//如果url中不包含uid和pwd,也可寫成:
Connection conn = DriverManager.getConnection(url,"sa","");
//如果是Access數據庫只需將url改爲:
String url = "jdbc:odbc:Driver={Microsoft Access Driver(*.mdb)};DBQ=c:/data/test.mdb";
二、檢索結果集
與數據庫建立連接以後,就可以查詢數據庫中的內容了

CODE:
//創建聲明:
Statement stmt = conn.createStatement();
//創建結果集對象:
ResultSet rs = stmt.executeQuery("SELECT * FROM tbl_test");
//列出表中的內容:
While(rs.next())
{
    out.println(rs.getString(1)+ "&nbsp;&nbsp;&nbsp;&nbsp; "+rs.getString(2)+ "<br><br>");
}
//關閉ResultSet對象:
rs.close();
rs = null;
//關閉Statement對象:
stmt.close();
stmt = null;
下面這段代碼列出了表tbl_test中兩列的內容(測試通過):

CODE:
<%@ page import="java.sql.*"%>
<%
try
{
//下面的代碼爲加載JDBD-ODBC驅動程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

//建立連接
//String url="jdbc:odbc:test";
String url = "jdbc:odbc:Driver={SQL Server};Server=imagebear;uid=sa;pwd=;Database=jspdb";
//"test"是系統dsn名

Connection con=DriverManager.getConnection(url);

//然後創建一個JDBC聲明
Statement stmt = con.createStatement();

//創建結果集
ResultSet rs = stmt.executeQuery("Select * from tbl_test");
//ResultSet rs = stmt.executeQuery("Insert into tbl_test Values(6, tangmaojian )");

while(rs.next())
{
    out.println(rs.getString(1)+"&nbsp;&nbsp;&nbsp;&nbsp;"+rs.getString(2)+"<br><br>");
}

//關閉ResultSet實例;
rs.close();
rs = null;
//關閉Statement實例;
stmt.close();
stmt = null;
三、更新數據庫
對數據庫進行更新操作包括修改、插入和刪除記錄、創建和刪除表、以及增加和刪除某列。對數據庫更新操作也是在一個Statement對象上完成的,使用的是executeUpdate方法。(實驗表明,executeQuery方法也可以用DELETE、,INSERT、UPDATE方法影響數據庫,但它不返回結果集。爲避免混亂,推薦使用executeUpdate方法。)
1、對錶中記錄的操作
同SELECT操作類似,executeUpdate方法的參數是一個String對象,即要執行的SQL語句。它返回的不是ResultSet對象,而是一個整數。對於UPDATE、INSERT和DELETE操作,這個整數是操作所影響的記錄的行數。對於其它不返回值的SQL語句,executeUpdate方法的返回值爲零。
下面這段代碼對tbl_test表進行更新操作,並顯示操作前和操作後的結果(測試通過):

CODE:
<%@ page import="java.sql.*"%>
<%
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:Driver={SQL Server};Server=192.168.0.36;uid=sa;pwd=;Database=jspdb";
Connection conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("Select * from tbl_test");
//顯示更新操作前的tbl_test表
out.println("Result Before execute Update:<br>");
while(rs.next()){
    out.println(rs.getString(1)+"&nbsp;&nbsp;&nbsp;&nbsp;"+rs.getString(2)+"<br><br>");
}
//執行數據庫更新操作:
stmt.executeUpdate("UPDATE tbl_test SET name= ying WHERE id=1");
stmt.executeUpdate("DELETE FROM tbl_test WHERE id=5");
stmt.executeUpdate("INSERT INTO tbl_test(id,name) VALUES(7, xpg )");
//顯示更新後的tbl_test表
rs = stmt.executeQuery("SELECT * FROM tbl_test");
out.println("Result After execute Update:<br>");
while(rs.next()){
    out.println(rs.getString(1)+"&nbsp;&nbsp;&nbsp;&nbsp;"+rs.getString(2)+"<br><br>");
}
//關閉對象
rs.close();
stmt.close();
conn.close();
}
catch(Exception e)
{
}
%>
2、創建和刪除表

CODE:
//創建一個表tbl_new,它有兩列,列ID爲Int,列Name爲Varchar:
stmt.executeUpdate("CREATE TABLE tbl_new(ID INTEGER,Name VARCHAR(20))");
//刪除表tbl_new:
stmt.executeUpdate("DROP TABLE tbl_new");
3、增加和刪除表中的列
對一個表的列進行更新操作是使用SQL的ALTER TABLE語句。對列進行的更新操作將影響到列中的所有行。

CODE:
//在表tbl_new中增加一列tel,數據類型爲字符串:
stmt.executeUpdate("ALTER TABLE tbl_new ADD COLUMN tel Varchar(50)");
//刪除表中的一列:
stmt.executeUpdate(ALTER TABLE tbl_new DROP COLUMN tel);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章