package com.csd.DB;import java.sql.*;public class TestConection{
public TestConection() {
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
} public static void main(String[] args)
{
String driverName,url,uid,pwd,DatabaseName="jspdev";
driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; //定义数据库驱动名
url = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName="+DatabaseName; //定义url;
uid = "jspdev";
pwd = "jspdev"; try{
Class.forName(driverName); //加载mssql数据库驱动;
}
catch (Exception e) {
e.printStackTrace();
}
try{
Connection cn = DriverManager.getConnection(url, uid, pwd);//连接数据库;
String sqlSelect,sqlInsert;
Statement sm = cn.createStatement();
sqlSelect = "select * from user_info";
sqlInsert = "insert into user_info(userid,name,phone,street,city,banneropt,userType,cardNumber,cardtype,userLogCount,state,zipCode,fanvcategory,password) values('sd','王d华','4031259','xingsha','changsha',9,2,'239855',1,4,'5632','410600','adsf','sasdf');";
ResultSet rs= sm.executeQuery(sqlSelect); // 执行数据查询语句(select)
sm.executeUpdate(sqlInsert); // 执行数据更新语句(delete、update、insert、drop等)statement.close();
int i = 1;
while(rs.next()){
System.out.print(rs.getString(i)+" ");
//System.out.print(rs.getString(2)+" ");
//System.out.println(rs.getString(3));
}
rs.close();
sm.close();
cn.close();
}
catch(SQLException ex){
System.out.println("sql error code:"+ex.getErrorCode());
System.out.println("sql error message:"+ex.getMessage());
}
} private void jbInit() throws Exception {
}
}
错误提示:
sql error code:0sql error message:[Microsoft][SQLServer 2000 Driver for JDBC]Object has been closed.
只要我把这一段去掉就可以执行,为什么就是不能输出结果呢?
int i = 1;
while(rs.next()){
System.out.print(rs.getString(i)+" ");
//System.out.print(rs.getString(2)+" ");
//System.out.println(rs.getString(3));
}
public TestConection() {
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
} public static void main(String[] args)
{
String driverName,url,uid,pwd,DatabaseName="jspdev";
driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; //定义数据库驱动名
url = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName="+DatabaseName; //定义url;
uid = "jspdev";
pwd = "jspdev"; try{
Class.forName(driverName); //加载mssql数据库驱动;
}
catch (Exception e) {
e.printStackTrace();
}
try{
Connection cn = DriverManager.getConnection(url, uid, pwd);//连接数据库;
String sqlSelect,sqlInsert;
Statement sm = cn.createStatement();
sqlSelect = "select * from user_info";
sqlInsert = "insert into user_info(userid,name,phone,street,city,banneropt,userType,cardNumber,cardtype,userLogCount,state,zipCode,fanvcategory,password) values('sd','王d华','4031259','xingsha','changsha',9,2,'239855',1,4,'5632','410600','adsf','sasdf');";
ResultSet rs= sm.executeQuery(sqlSelect); // 执行数据查询语句(select)
sm.executeUpdate(sqlInsert); // 执行数据更新语句(delete、update、insert、drop等)statement.close();
int i = 1;
while(rs.next()){
System.out.print(rs.getString(i)+" ");
//System.out.print(rs.getString(2)+" ");
//System.out.println(rs.getString(3));
}
rs.close();
sm.close();
cn.close();
}
catch(SQLException ex){
System.out.println("sql error code:"+ex.getErrorCode());
System.out.println("sql error message:"+ex.getMessage());
}
} private void jbInit() throws Exception {
}
}
错误提示:
sql error code:0sql error message:[Microsoft][SQLServer 2000 Driver for JDBC]Object has been closed.
只要我把这一段去掉就可以执行,为什么就是不能输出结果呢?
int i = 1;
while(rs.next()){
System.out.print(rs.getString(i)+" ");
//System.out.print(rs.getString(2)+" ");
//System.out.println(rs.getString(3));
}
ResultSet rs= sm.executeQuery(sqlSelect);
sm.executeUpdate(sqlInsert);
执行完sm.executeUpdate();后对象就关闭了,所以不能再使用rs.next()和rs.getString()来操作了。