注册 登录
编程论坛 J2EE论坛

ResultSet问题,读取不了数据

wangliwei 发布于 2007-07-20 11:12, 922 次点击
try{
ResultSet pianYiWps=cn.executeQuery("select top 8 * from wp_tbl order by wp_maijia asc");
while(pianYiWps.next()){
String strPianYiName=pianYiWps.getString("wp_name");
String pianYiWpId=pianYiWps.getString("wp_id");
if(strPianYiName.length()>15){
strPianYiName=strPianYiName.substring(0,13)+"...";
}
%> [<%= pianYiWps.getString("wp_fl1") %>] <a href="/showWuPin.do?wuPinId=<%=pianYiWpId%>" target="_blank" ><%= strPianYiName %></a>
&nbsp;(<%= pianYiWps.getString("wp_maijia") %>元)<br>
<%
} pianYiWps.close();
}catch(Exception e){
System.out.println(e);
}
报错:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]ResultSet can not re-read row data for column 1.

我觉得语句没有问题,但是为什么读不了数据呢
4 回复
#2
Gramary2007-07-20 14:13

String strPianYiName=pianYiWps.getString("wp_name");
String pianYiWpId=pianYiWps.getString("wp_id");
这种取数据的方式应该是错误的吧``
wp_name ,wp_id 这些是表的字段名称吧`
我以前取数据的时候不是这样取的只能用数字
如果 wp_name 这个是表中的第一列`,那么你要取的第一列的值应该写成这样
String strPianYiName=pianYiWps.getString(0);
如果 wp_id 这个是表中的第二列`,那么你要取的第二列的值应该写成这样
String strPianYiName=pianYiWps.getString(1);
你去试试```

#3
Gramary2007-07-20 14:15
对了
还有要注意的地方就是`` 数据库字段的数据类型``
如果你的 wp_name 这个字段是整型的话
那么你取数据应该是 int strPianYiName=pianYiWps.getInt(0);
#4
hardes2007-07-20 14:22
我看你们写的代码真是想喷人了,什么东西哦
你写好看点别人也看着也舒服点啊 ,都拥挤在一起.....唉!!
#5
lgdcky2007-07-20 16:11
楼上的别这么说!谁刚学这东西就那么规范啊!都是一点一点的改的啊!LZ这么取数据也是可以的,不过要注意所取的数据的类型,如果是数值型的就不能用getString();了。把那张表的脚本发出来看一下!

[此贴子已经被作者于2007-7-20 16:18:10编辑过]


1