1 package com.cps.rom.utils; 2 3 /******************************************************************************* 4 *使用Java純驅動連接到MS SQL Server 2000數據庫的測試程序 5 *作者:劉宇 6 *日期:2005-11-06 7 ******************************************************************************/ 8 9 /******************************************************************************* 10 *准備工作: 11 *1、要使用Java純驅動連接SQL Server 2000數據庫,必須先獲得由數據庫廠商提供的驅動 12 * 程序。 13 *2、將DBDriver目錄中的jdbcSQLServer目錄拷貝到本地磁盤上。 14 *3、在環境變量中設置classpath,指定好驅動程序的路徑。驅動程序共有三個.jar文件, 15 * 三個文件的路徑都必須指定。 16 *4、在編寫Java程序的開發環境(如:JCreator等)中也應指定上述文件的路徑。 17 ******************************************************************************/ 18 //要連接數據庫,則必須包含java.sql包 19 20 public class test { 21 public static void main(String args[]) { 22 System.out.println("正在連接數據庫,請稍候..."); 23 try { 24 // 第一步:注冊JDBC驅動程序 25 /* 26 * 如果是通過純JAVA驅動的方式連接SQL Server,就固定使用如下字符串: 27 * "com.microsoft.jdbc.sqlserver.SQLServerDriver" 不可以更改 28 */ 29 // forName()方法有可能拋出ClassNotFoundException異常,必須捕獲 30 // java.lang.Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 31 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 32 // 第二步:連接到數據庫 33 /* 34 * 設置連接字符串,應采用如下格式: 35 * "jdbc:microsoft:sqlserver://服務器名或IP地址:端口號(默認1433);databaseName=數據庫名" 36 */ 37 // 這里連接到SQL Server的pubs數據庫 38 // String strCon = 39 // "jdbc:microsoft:sqlserver://localhost:1433;databaseName=DB_WuLiu"; 40 41 String strCon = "jdbc:sqlserver://localhost:1433;databaseName=DB_WuLiu"; 42 43 String strUserName = "sa"; // 數據庫的用戶名稱 44 String strPWD = "123"; // 數據庫的密碼 45 // 建立數據庫連接 46 // getConnection()方法是DriverManager類的靜態方法 47 // getConnection()方法有可能拋出SQLException異常,必須捕獲 48 java.sql.Connection con = java.sql.DriverManager.getConnection(strCon, strUserName, strPWD); 49 System.out.println("已順利連接到數據庫。"); 50 51 // 第三步:利用上面建立的連接創建語句對象句柄 52 java.sql.Statement sta = con.createStatement(); 53 sta.setQueryTimeout(30); // 設置操作延時為30秒 54 55 // 接下來,利用上面創建的語句對象句柄,對數據庫進行操作 56 String strQuery = "SELECT * FROM db_Customer"; // 查詢語句 57 java.sql.ResultSet rs = sta.executeQuery(strQuery); // 執行查詢語句,返回記錄集 58 int count = 0; // 計數器 59 System.out.println("查詢到的數據:"); 60 while (rs.next()) { 61 String strFirstName = rs.getString("Name"); // 獲得指定字段的數據 62 String strLastName = rs.getString("Email"); 63 count++; // 計數器計數 64 System.out.println(strFirstName + "." + strLastName); // 打印查詢出來的數據 65 } 66 System.out.println("共查詢到" + count + "行數據。"); // 統計查詢出多少條數據 67 68 // 對數據庫操作完畢后,關閉所有被打開的資源 69 rs.close(); // 關閉記錄集 70 sta.close(); // 關閉語句對象句柄 71 con.close(); // 關閉連接 72 System.out.println("數據庫已關閉。"); 73 } 74 // 捕獲異常並進行處理 75 catch (java.lang.ClassNotFoundException cnfe) { 76 System.out.println(cnfe.getMessage()); 77 } catch (java.sql.SQLException se) { 78 System.out.println(se.getMessage()); 79 } 80 } 81 }