数据库操作代码,在userbean中执行有错误,JSP页中正常,请教是什么原因 什么数据库,Sqlserver的自增列吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你用这样实施int a1 = rs.getInt(1); 不是自增列,我实际想完成的是将结果集合存入Hashtable ,代码与大家共享,如下:下面的代码是将数据库中的ResultSet返回的结果集保存到Hashtable 中本程序中rs = load(strsql);是连接数据库返回ResultSetint a = rs.getInt(i);//从ResultSet取值时发生错误:<Exception occrred on target VM>这里将 rs.getInt(i)改为 rs.getInt( rsmd.getColumnName(i))也不能正确取到数据我是在JSP中调用JAVABEEN为什么会这样,请JAVA高手指点public static Vector ListResult(String strsql,int num) { ResultSet rs = null; ResultSetMetaData rsmd ; Vector ListRs = new Vector(); try { rs = load(strsql); //判断字段数据类型 //date型 返回 93 //int型 返回 2,4 //bigint型 返回 3 //String型 返回 12 //(char 型)返回 1 rsmd = rs.getMetaData(); int ColumnCount = 0; if(num>0) ColumnCount = num; else ColumnCount = rsmd.getColumnCount(); while (rs.next()) { Hashtable htable = new Hashtable(); for (int i = 1; i <= ColumnCount; i++) { String temp=""; int t = rsmd.getColumnType(i); String tempcol = rsmd.getColumnName(i).toLowerCase(); if (t == 12 || t == 1 || t == 3) { temp=rs.getString(i) ; if (temp == null ) temp= ""; } else if (t == 93) { temp = rs.getDate(i).toString(); } else if (t == 2 || t == 4) { int a = rs.getInt(i);//从ResultSet取值时发生错误:<Exception occrred on target VM> temp = Integer.toString(a); } htable.put(tempcol,temp); } ListRs.add(htable); } return ListRs; } catch (Exception listError) { System.out.println("数据库操作失败!" + listError); return null; } finally { try { rs.close(); rs=null; } catch (Exception closeErr) { System.out.println("关闭数据库出错:" + closeErr); } } } int a = rs.getInt(i);,如果是关键字段出错 我有点忘了类型返回2,4是不是int型,楼主定义的关键字段是int型吗?用没用getLong(),getFloat(),getByte()....试一下啊? 试过了,我定义的类型为number(4,0),而且有多个字段定义相同,类型返回2,除关键字外,其他列都可以读出,JSP页中可以读出关键字。我都快要放弃了。 谢谢cjxiaoh(风中水滴) ,我已经决定改用在JSP页中直接操作结果集了,这个问题我想还是以后再研究吧 用 lingError.printStackTrace() 把异常堆栈打出来可能好分析 用ajax传数据 在服务端接受数据乱码 !!! 关于jsp中文乱码的问题,试尽了网上各种方法,还没解决,求讲解 Struts+hibernate集成问题 web下载使用下载工具的问题 急急急!!!JSP中数据库问题 help!!,在linux下才出现的问题 从数据库中读取视频后,如何在JSP页面上放映 java中怎样通过“windows身份验证”方式来访问sqlserver2000,急! 我想控制已打开的浏览器的外观,有什么办法 初学的问题关于record。在线等待! 菜鸟问题!!急急急!! 遇到点小问题
int a1 = rs.getInt(1);
下面的代码是将数据库中的ResultSet返回的结果集保存到Hashtable 中
本程序中rs = load(strsql);是连接数据库返回ResultSet
int a = rs.getInt(i);//从ResultSet取值时发生错误:<Exception occrred on target VM>
这里将 rs.getInt(i)改为 rs.getInt( rsmd.getColumnName(i))也不能正确取到数据
我是在JSP中调用JAVABEEN
为什么会这样,请JAVA高手指点
public static Vector ListResult(String strsql,int num)
{
ResultSet rs = null;
ResultSetMetaData rsmd ;
Vector ListRs = new Vector();
try
{
rs = load(strsql);
//判断字段数据类型
//date型 返回 93
//int型 返回 2,4
//bigint型 返回 3
//String型 返回 12
//(char 型)返回 1
rsmd = rs.getMetaData();
int ColumnCount = 0;
if(num>0)
ColumnCount = num;
else
ColumnCount = rsmd.getColumnCount();
while (rs.next())
{
Hashtable htable = new Hashtable();
for (int i = 1; i <= ColumnCount; i++)
{
String temp="";
int t = rsmd.getColumnType(i);
String tempcol = rsmd.getColumnName(i).toLowerCase();
if (t == 12 || t == 1 || t == 3)
{
temp=rs.getString(i) ;
if (temp == null )
temp= "";
}
else if (t == 93)
{
temp = rs.getDate(i).toString();
}
else if (t == 2 || t == 4)
{
int a = rs.getInt(i);//从ResultSet取值时发生错误:<Exception occrred on target VM>
temp = Integer.toString(a);
}
htable.put(tempcol,temp);
}
ListRs.add(htable);
}
return ListRs;
}
catch (Exception listError)
{
System.out.println("数据库操作失败!" + listError);
return null;
}
finally
{
try
{
rs.close();
rs=null;
}
catch (Exception closeErr)
{
System.out.println("关闭数据库出错:" + closeErr);
}
}
}
我都快要放弃了。