首先,180行,userid=? 有问题
其次,有可能别的地方也有问题
其次,有可能别的地方也有问题
解决方案 »
- tomcat启动报错:Struts2+spring+hibernate
- ibatis+TOMCAT如何使用JNDI??
- Eclipse的Lomboz安装问题,在线等待,急
- 如何禁止浏览器直接url访问action
- Could not synchronize database state with session SQL Error: 1400, SQLState: 230
- 请问,怎样配置才能使struts中的*.do 映射 去掉 .do ,直接用没有后缀名的映射。
- 调查:一般用什么软件来开发java的?只是jbuider?
- 快帮我看看问题出在哪?多谢了!
- 我的j2ee server 不能启动,以前一直可以的(高分送)
- HQL多对一查询出现空指针异常,求解,代码如下
- 各位,这个程序如何改成多线程的?
- oracle启动
解决办法:导入ResultSet
2.还有我估计你的数据库操作有问题
rs.first(); 这个操作会将会使游标指向resultset的第一行,你再使用rs.next()会再是游标下移一行,这样你的第一行的数据就不能在while循环中取到了,当让可能你的程序逻辑就是要那样
...
..."userid='"+id+"'"...//假设你数据库里的userid字段是String类型的话
大概是这个意思,具体问题还得具体分析
你都没给userid赋值他能不出错吗?
如果要动态赋值,不能用statment,要用preparestatement,比如:
perstmt = con.prepareStatement("insert into tb_name (col1,col2,col2,col4) values (?,?,?,?)");
perstmt.setString(1,var1);(这个地方第1个参数标示SQL中的参数位置,第2个参数是要赋的值,如果有2个参数就)
perstmt.setString(2,var2);
perstmt.setString(3,var3);
perstmt.setString(4,var4);
perstmt.executeUpdate();
你的可以改成
perstmt = con.prepareStatement("SELECT backupSboard FROM mrs_backupSboard where userId=? and sFlag='C'");
perstmt.setString(1,var1);
perstmt.executeQuery();
我在while后面加上rs.close()也会让数据库操作有问题么?
谢谢楼上的,我按你的方法添加后,出现这样的报错:
org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 180 in the jsp file: /user/machineList.jsp
perstmt cannot be resolved
177: <div class="cls1" style="clip: rect(3 280 21 110)">
178: <select name="backupSboard" style="width:127" onChange="document.getElementById('test').value=this.value">
179: <%
180: perstmt = con.prepareStatement("SELECT backupSboard FROM mrs_backupSboard where userId=? and sFlag='C'");
181: perstmt.setString(1,var1);
182: perstmt.executeQuery();
183: int i_c = 1;
perstmt.setString(1,var1);
说了第2个参数是你要赋的值,你程序里有VAR1这个属性或者叫变量吗?
String userID;
userID = (String)session.getAttribute("loginId");
perstmt.setString("userId",userID);
perstmt.executeQuery();但perstmt没类型,但数据库连接是用hibernate的,不知怎么定义?请问怎么解决呢