?? database.java
字號:
package main;
import java.sql.*;
import java.util.Vector;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
/**
* 該類封裝了對數(shù)據(jù)庫進行訪問的公用方法和一些變量,給其他類訪問數(shù)據(jù)庫帶來方便
* 也減少了代碼量,同時提高了代碼的效率
* @author Administrator
*/
public class DataBase {
public static Connection con;
public static Statement statement;
// 靜態(tài)代碼塊,在類加載時自動執(zhí)行
static {
try {
// "com.microsoft.jdbc.sqlserver.SQLServerDriver" ;
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
// Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//System.out.println("類實例化成功!");
con = DriverManager
.getConnection(
"jdbc:microsoft:sqlserver://DINGSHUAI:1433;DatabaseName=library",
"library", "library");
// System.out.println("創(chuàng)建連接對像成功!");
statement = con.createStatement();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage(), "",
JOptionPane.ERROR_MESSAGE);
}
}
public static ResultSet executeQuery(String sql) {
ResultSet innerresultSet = null;
try {
innerresultSet = statement.executeQuery(sql);
} catch (Exception e) {
System.out.println("fail to execute the sql" + ": " + sql);
}
return innerresultSet;
}
/**
* to execute 更新語句
*/
public static boolean execute(String sql) {
boolean result = false;
try {
result = statement.execute(sql);
} catch (Exception e) {
System.out.println(sql);
System.out.println("fail to execute" + e);
}
return result;
}
// columns contains the values that you want to store in Vector
// resultset is the return of value of a executive sql
// the return value vector will be used to construct a defaulttablemodel for
// JTable
public static Vector getVector(String[] columns, ResultSet result) {
Vector dataRow = new Vector();
try {
while (result.next()) {
Vector tmp = new Vector();
for (int i = 0; i < columns.length; i++) {
tmp.add((Object) result.getString(columns[i]));
}
//System.out.println((String)tmp.get(0));
dataRow.add(tmp);
}
} catch (Exception e) {
System.out.println(e);
System.out.println("fail to read data from resultset");
System.out.println("in DataBase.java line 45");
}
return dataRow;
}
public static DefaultTableModel createModelForTable(
String[] englishColumns, String[] chineseColumns, String sql) {
// datarow is contents of the table,columns is 標(biāo)題 for the table
Vector dataRow = new Vector(), columns = new Vector();
// dataRow is initialized by the method DataBase.getVector();
// columns is initialized as below
for (int i = 0; i < chineseColumns.length; i++)
columns.add((Object) chineseColumns[i]);
ResultSet resultSet = DataBase.executeQuery(sql);
dataRow = DataBase.getVector(englishColumns, resultSet);
DefaultTableModel modelForTable = new DefaultTableModel(dataRow,
columns);
return modelForTable;
}
//to judge whether a certain user exist in a resultset
public static boolean exist(ResultSet resultSet){
boolean result=false;
try{
if(resultSet.next())
result=true;
}catch(Exception e){
System.out.println("exception in DataBase.java line 109"+
e);
}
return result;
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -