中易网

关于ResultSet.getString()

答案:1  悬赏:30  
解决时间 2021-04-07 17:04
String url="jdbc:mysql://localhost:3306/person";
try
{
Class.forName("com.mysql.jdbc.Driver");
Connection cn = DriverManager.getConnection( url, "root", "root" );
String query = "SELECt * FROM person WHERe no='"+this.jTextField1.getText()+"'";
ResultSet results;
try
{
Statement stmt = cn.createStatement();
results = stmt.executeQuery(query);//此时无错误
System.out.println(results.getString(1));//异常
String str1=results.getString("age");//异常

this.jTextField2.setText(str1);
}
catch (Exception e)
{
System.err.println("query error");//跳到这里(e.getMessage()返回null)
}
}
catch(java.lang.ClassNotFoundException e){System.out.println(e);}
catch(java.sql.SQLException e){System.out.println(e);}
最佳答案
你改成
Statement stmt = cn.createStatement();
results = stmt.executeQuery(query);//此时无错误
while(results.next())
{
System.out.println(results.getString(1));
String str1=results.getString("age");
}
就没有问题了,这是ResultSet指向的问题,ResultSet取值后,指针默认指向index为-1的前一个元素,即ResultSet中第一个元素的前面,这时指针默认指向是不存在元素的,因此出现错误。必须调用.next()函数才能,对ResultSet进行遍历。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么电源适配器的输出线要做成外负内正
Java线程死锁如何避免这一悲剧
请你用三五句话介绍你喜欢的一种小动物
798烤肉崇福店怎么去啊,有知道地址的么
2013年1一8月的税收,按税款入库时间填,该怎样
江铃宝典加长版总长是几米
要学软件技术英语特别不好怎么办
结算单是什么意思
机床需要接地但没接地线怎么办?
碧欧泉橄榄青春2次源眼霜同温泉水元素眼部精
电脑桌面就跟打了马赛克样怎么办
吉川造型总店地址在哪,我要去那里办事
形容度假的词语
《房贷》假如我在A银行贷款后,过几年看到B银
鑫欣自行车行地址有知道的么?有点事想过去
推荐资讯
穿越火线按f9录制视频怎么开启
天目路/滨湖大道(路口)地址在哪,我要去那里
半自动洗衣机引线保险断了能直接接上行吗
镜湖区芜湖天和名仕地址有谁知道?有点事想过
白云区永泰去哪里办居住证
用8块相同的长方形地砖拼成一块长方形地面,
为什么我的魅族note电信版安装不了软件啊 总
我将要开个海鲜产品经营店 可以卖海鲜礼盒 也
intel(R) core(TM)2 duo [email protected] 2.00
九位数的QQ号和密码
腰椎盘突出与膨出严重吗?
锦苑小区(西门)地址有知道的么?有点事想过去
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?