packagecom.xidian.bbs.util;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.ResultSetMetaData;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.Vector;public classDbConn {
@SuppressWarnings("unchecked")privateVector dsVector;int rowCount=0;int colCount=0;public String[] type=null;boolean flag=true;
@SuppressWarnings("unchecked")publicString[][] getData(String sql){//System.out.println("sql"+sql);
query(sql);//调用了query()方法,来完成数据库的连接
String dsString[][]=newString[rowCount][colCount];if(flag==true){
dsString=null;
}else{for (int i=0;i
Vector row=newVector();
row=(Vector)dsVector.get(i);for(int j=0;j
dsString[i][j]=(String)row.get(j);
}
}
}
dsVector.clear();returndsString;
}public staticConnection getconn(){try{
Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
}catch(InstantiationException e) {
e.printStackTrace();
}catch(IllegalAccessException e) {
e.printStackTrace();
}catch(ClassNotFoundException e) {
e.printStackTrace();
}
String url="jdbc:jtds:sqlserver://localhost:9433;DatabaseName=SportsUnion2";
String user="sa";
String psw="123";
Connection conn=null;try{
conn=DriverManager.getConnection(url,user,psw);
}catch(SQLException e) {
e.printStackTrace();
}returnconn;
}public static voidcloseConn(Connection conn){try{
conn.close();
}catch(SQLException e) {
e.printStackTrace();
}
}public intupdate(String sql){
Connection conn=DbConn.getconn();
Statement stmt=null;int count=0;//System.out.println(sql);
try{
conn.setAutoCommit(false);
stmt=conn.createStatement();//System.out.println(sql);
count=stmt.executeUpdate(sql);
conn.commit();
}catch(SQLException e) {//System.out.print(e.getErrorCode());
try{
conn.rollback();
}catch(SQLException e1){
e1.printStackTrace();
}
e.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}finally{
DbConn.closeConn(conn);
}returncount;
}
@SuppressWarnings("unchecked")public intquery(String sql){
Connection conn=DbConn.getconn();//这里已经调用了上面的getconn()方法
dsVector=newVector();
Statement stmt=null;
ResultSet rs=null;
rowCount=0;
colCount=0;try{
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
flag=true;while(rs.next()){
flag=false;
rowCount++;
ResultSetMetaData rsmd=rs.getMetaData();
Vector row=newVector();
colCount=rsmd.getColumnCount();for( int i= 0; i
row.add(rs.getString(i+1));//System.out.println(rs.getString(i+1));
}
dsVector.add(row);
}
}catch(SQLException e) {
System.out.print(e.getErrorCode());
e.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}finally{
DbConn.closeConn(conn);//调用了上面的closeConn()方法
}returnrowCount;
}//public static void main(String arg[]){//DbConn dbconn=new DbConn();//String sql_class1="select * from class";//String sql_assign="select * from news where if_Assign!=0 order by if_Assign desc";//String sql_counts1="select * from news";//int b=dbconn.query(sql_assign);//int a=dbconn.query(sql_class1);//int c=dbconn.query(sql_counts1);//
//String[][] A =dbconn.getData(sql_class1);//String[][] B=dbconn.getData(sql_assign);//String[][] C=dbconn.getData(sql_counts1);//for(int j=0;j
//for(int j=0;j
}//}