jsp数据库连接问题

来源:百度知道 编辑:UC知道 时间:2024/06/08 21:35:31
public class userDB {
private Connection conn = null;
private PreparedStatement pstm = null;
private ResultSet rs = null;
public userDB() {
// TODO Auto-generated constructor stub
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
} catch (ClassNotFoundException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
try {
conn = DriverManager
.getConnection(
"jdbc:microsoft:sqlserver://localhost:1433;databasename=Web_Test","sa","sa");
} catch (SQLException e) {
// TODO 自动生成 catch 块//
e.printStackTrace();
}
}

public boolean CheckUser(userBean set){
try {
pstm = conn.prepareStatement("select userPWD from userInfo where userName= ? ");
pstm.setString(1,set.getUserName());
rs = pstm.executeQuery();
if (rs.next())

其实问题是这样的
你使用一个pstm得到了一个rs,然后你使用同一个pstm做了其他的操作,然后再去使用rs的时候,就出错了!
java文档里是这么说的:当你产生rs的pstm关闭后,那么这个pstm所产生的rs也紧跟pstm关闭,所以你再用rs取值,就出现上述错误了 !

没人回答啊 把分送我吧!!!

公共类userdb (
私人连接连通=空;
私人preparedstatement pstm =空;
私人ResultSet中的RS =空;
公共userdb ( ) (
/ / TODO的自动生成构造存根
尝试(
class.forname ( “ com.microsoft.jdbc.sqlserver.sqlserverdriver ” ) ;
)赶上( classnotfoundexception五) (
/ / TODO的自动生成赶上块
e.printstacktrace ( ) ;

尝试(
连通= drivermanager
。 getconnection (
“ JDBC的:微软: sqlserver : / /本地: 1433年; databasename = web_test ” , “ SA服务” , “公司” ) ;
)赶上( sqlexception e )在(
/ / TODO的自动生成赶上块/ /
e.printstacktrace ( ) ;



公共布尔checkuser ( userbean设置) (
尝试(
pstm = conn.preparestatement ( “选择userpwd从UserInfo其中的用户名= ? ” ) ;
pstm.setstring ( 1 , set.getusername ( ) ) ;
卢比= pstm.executequery ( ) ;
如果( rs.next ( ) ) (
如果( rs.getstri