JDBC連接SQL Server2008基本格式及示例代碼
下面的代碼顯示了連接SQL Server數據庫時,
連接數據庫的步驟:
1、注冊驅動 (只做一次)
2、建立連接(Connection)
3、創建執行SQL的語句(Statement)
4、執行語句
5、處理執行結果(ResultSet)
6、釋放資源
建立連接的方法:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //加載數據庫引擎,返回給定字符串名的類 String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test"; //test為你的數據庫的名稱 String user="用戶名"; String password="密碼"; Connection conn=DriverManager.getConnection(url,user,password); //連接數據庫對象 Statement stmt=conn.createStatement(); //創建SQL命令對象 String query="";//創建表SQL語句 stmt.executeUpdate(query);//執行SQL命令對象 String a="INSERT/DELETE.... INTO/FROM “表名” VALUES(....,...)"; .... .... .... stmt.executeUpdate(a);//執行SQL命令對象 //讀取數據 ResultSet rs=stmt.executeQuery("SELECT * FROM “表名”"); //循環輸出每一條記錄 rs最初指向第一條記錄的前面 while(rs.next){ } 最后關閉連接 stmt.close(); con.close(); 數據庫連接(Connection)是非常稀有的資源,用完后必須馬上釋放, 如果Connection不能及時正確的關閉將導致系統宕機。 Connection的使用原則是盡量晚創建,盡量早的釋放。下面分別給出插入、修改、刪除、查詢的基本方式的代碼:
插入數據:
import java.sql.*; /** * @version 2012-02-22 * @author */ public class InsertDemo { public static void main(String[] args) throws SQLException { Connection conn = null; Statement stmt = null; String JDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";//SQL鏁版嵁搴撳紩鎿? String connectDB="jdbc:sqlserver://localhost:1433;DatabaseName=JDBCTest";//鏁版嵁婧惵? String user="sa"; String pwd="sql"; try { // 動態導入數據庫的驅動 Class.forName(JDriver); // 獲取數據庫鏈接 conn = DriverManager.getConnection(connectDB,user,pwd); // 創造SQL語句 String sql = "INSERT INTO JDBCTestTable ( user_name, user_password ) VALUES ( 'balabala', '123456' )"; // 執行SQL語句 stmt = conn.createStatement(); stmt.executeUpdate(sql); System.out.println("插入數據成功"); } catch (Exception e) { e.printStackTrace(); stmt.close(); conn.close(); } } }修改數據:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; public class UpdateDemo { public static void main(String[] args) throws SQLException { Connection conn = null; Statement stmt = null; try { // 動態導入數據庫的驅動 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // 獲取數據庫鏈接 conn = DriverManager.getConnection( "jdbc:sqlserver://localhost:1433;DatabaseName=JDBCTest", "sa", "sql"); // 創造SQL語句 String sql = "UPDATE JDBCTestTable SET user_password = '456' WHERE user_name = 'Eric'"; // 執行SQL語句 stmt = conn.createStatement(); stmt.executeUpdate(sql); System.out.println("更新數據成功"); } catch (Exception e) { e.printStackTrace(); stmt.close(); conn.close(); } } }刪除數據:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; public class DeleteDemo { public static void main(String[] args){ String JDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver"; String url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=JDBCTest"; String user="sa"; String password="sqlyanghai"; try{ Class.forName(JDriver);// 動態導入數據庫的驅動 Connection conn=DriverManager.getConnection(url, user, password);// 獲取數據庫鏈接 String query="DELETE FROM JDBCTestTable WHERE user_name='Eric'";// 創造SQL語句 Statement stmt=conn.createStatement();// 執行SQL語句 stmt.executeUpdate(query); System.out.println("刪除數據成功"); stmt.close(); conn.close(); }catch(Exception e){ e.printStackTrace(); } } }查詢數據:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class QueryDemo { public static void main(String[] args){ String JDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver"; String url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=JDBCTest"; String user="sa"; String password="sql"; try{ Class.forName(JDriver);// 動態導入數據庫的驅動 Connection conn=DriverManager.getConnection(url, user, password);// 獲取數據庫鏈接 String query="SELECT * FROM JDBCTestTable";// 創造SQL語句 Statement stmt=conn.createStatement();// 執行SQL語句 ResultSet rs=stmt.executeQuery(query); while(rs.next()){ System.out.println(rs.getString("user_name")+":"+rs.getString(2)); //密碼字段的編號從1開始,密碼排第二位 } System.out.println("查詢數據成功"); rs.close(); stmt.close(); conn.close(); }catch(Exception e){ e.printStackTrace(); } } }轉自:http://blog.csdn.net/yanghai0321/article/details/7288363
本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!