import java.sql.ResultSet; //都是導入一些下面需要用到的類
String ConnStr="jdbc:microsoft:sqlserver://WINJUE:1433;DatabaseName=library";//jdbc連接資料庫url
public sqlServer() {
try {
Class.forName(DBDriver).newInstance(); //載入驅動程序,DBDriver是你上面的代碼;
conn=DriverManager.getConnection(ConnStr,"sa","sa"); //和資料庫建立連接,ConnStr裡面的://WINJUE:1433;DatabaseName=library 分別是主機地址:埠號;你自己建的資料庫(database)
}
catch(SQLException e) { //捕獲SQL異常
System.out.println(e.getMessage()); //要是出現異常,捕獲到後,這句代碼會把異常的信息(出錯的原因之類的)列印出來。
}
catch(Exception e) { //捕獲異常,這個是總的,所以不能和上面的順序顛倒,先小到大,我連ORACLE和MYSQL,這個我通常不要,只須捕獲SQL異常就OL
System.out.println(e.getMessage());
}
}
public Connection getConn(){ //獲取連接方法
return conn;
}
public void insert(String sql) {//增刪改
try {
Statement stm=conn.createStatement(); 調用conn下的方法,創建Statement對象
stm.executeUpdate(sql);//調用Statement下的方法執行SQL語句
System.out.println("操作成功");
}
catch(Exception e){
System.out.println(e.getMessage()); //如上
}
}
public ResultSet query(String sql){ //查詢
try{
Statement stm=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stm.executeQuery(sql); //如上
}
catch(Exception e){
System.out.println(e.getMessage());
}
return rs;
}
public static void main(String args[]){
sqlServer conn=new sqlServer(); //創建sqlServer,就是你上面的類,以便調用裡面的方法
ResultSet rs=conn.query("select * from Orders"); //調用query方法,執行SQL語句後,把結果保存到結果集里
//conn.insert("delete from BookInfo where BookName =" +"\'悟空傳\'");
//conn.insert("insert into BookInfo (BookID,BookName,Author,KeyWord) values (14445678,'悟空傳','今何在','孫悟空')");
try{
while(rs.next()){ //循環,判斷結果集里的記錄,一條條往下走,是否還有下一條記錄,若是返回真,繼續走
System.out.print(rs.getString("OrderID"));
//System.out.print(rs.getString("U_age"));
}
rs.close() ; //關閉結果集
}
catch (Exception e){
System.out.println(e.getMessage());
}
}
}
注:
TYPE_FORWARD_ONLY:預設類型。只允許向前訪問一次,並且不會受到其他用戶對該資料庫所作更改的影響。
TYPE_SCROLL_INSENSITIVE:允許在列表中向前或向後移動,甚至能進行特定定位,例如移至列表中的第四個記錄或從當前位置向後移動兩個記錄。不會受到其他用戶對該資料庫所作更改的影響。
TYPE_SCROLL_SENSITIVE:象 TYPE_SCROLL_INSENSITIVE 相同,允許在記錄中定位。這種類型受到其他用戶所作更改的影響。如果用戶在執行完查詢之後刪除一個記錄,那個記錄將從 ResultSet 中消失。類似的,對數據值的更改也將反映在 ResultSet 中。
② java 連接 sql server 資料庫 :連接已關閉
你都寫了connection不為空時候直接返回了怎麼會不報連接關閉的錯誤