我的代码如下
public ArrayList process(ResultSet rs) throws SQLException {
ArrayList rdlist=new ArrayList();
RoleData rd=null;
while (rs.next()){
rd= new RoleData();
rd.RoleID =rs.getLong("RoleID");
rd.RoleName =rs.getString("RoleName").trim() ;
rd.RoleDes = rs.getString("RoleDes");
rd.UpRole = rs.getLong("UpRole");
rd.worklistServerID = rs.getLong("WorkListServerID");
rdlist.add(rd);
}
return rdlist; }它的错误提示如下:
java.sql.SQLException: Column 'RoleID' not found.
at com.mysql.jdbc.ResultSet.findColumn(ResultSet.java:2368)
at com.mysql.jdbc.ResultSet.getLong(ResultSet.java:1436)
at cn.ac.ios.tcse.isflow.ProcessServer.UserManager.RoleResultProcessor.process(RoleResultProcessor.java:26)
at cn.ac.ios.tcse.isflow.ConnectionSQLManager.SQLProcessor.handleQuery(SQLProcessor.java:35)
at cn.ac.ios.tcse.isflow.ConnectionSQLManager.SQLProcessor.executeQuery(SQLProcessor.java:23)
at cn.ac.ios.tcse.isflow.ProcessServer.UserManager.RoleResultProcessor.main(RoleResultProcessor.java:45)
Column 'RoleID' not found.
getRoleData() failed! Database Error:Could not perform the query for:SELECT * from Role where RoleID=?
我的数据库用的是mysql,表Role里面确实是有RoleID这个Column,而且我跟踪了发现rs里面其实已经把数据取出来了,但是用rd.RoleID =rs.getLong("RoleID");会出错,更奇怪的是同样的代码在别人机器上运行是正确的,我如果改成rd.RoleID =(long)rs.getDouble(1);好像可以,而且同样的问题也出现在rd.RoleName =rs.getString("RoleName").trim() ;用这条语句取出来的是乱码,改成
rd.RoleName = (new String(rs.getBytes(2))).trim();就可以,不知道这是为什么?,我想是不是与我用的mysql或者是mysqljdbc connector有关啊,请哪位高手指点一下,感激不尽!
public ArrayList process(ResultSet rs) throws SQLException {
ArrayList rdlist=new ArrayList();
RoleData rd=null;
while (rs.next()){
rd= new RoleData();
rd.RoleID =rs.getLong("RoleID");
rd.RoleName =rs.getString("RoleName").trim() ;
rd.RoleDes = rs.getString("RoleDes");
rd.UpRole = rs.getLong("UpRole");
rd.worklistServerID = rs.getLong("WorkListServerID");
rdlist.add(rd);
}
return rdlist; }它的错误提示如下:
java.sql.SQLException: Column 'RoleID' not found.
at com.mysql.jdbc.ResultSet.findColumn(ResultSet.java:2368)
at com.mysql.jdbc.ResultSet.getLong(ResultSet.java:1436)
at cn.ac.ios.tcse.isflow.ProcessServer.UserManager.RoleResultProcessor.process(RoleResultProcessor.java:26)
at cn.ac.ios.tcse.isflow.ConnectionSQLManager.SQLProcessor.handleQuery(SQLProcessor.java:35)
at cn.ac.ios.tcse.isflow.ConnectionSQLManager.SQLProcessor.executeQuery(SQLProcessor.java:23)
at cn.ac.ios.tcse.isflow.ProcessServer.UserManager.RoleResultProcessor.main(RoleResultProcessor.java:45)
Column 'RoleID' not found.
getRoleData() failed! Database Error:Could not perform the query for:SELECT * from Role where RoleID=?
我的数据库用的是mysql,表Role里面确实是有RoleID这个Column,而且我跟踪了发现rs里面其实已经把数据取出来了,但是用rd.RoleID =rs.getLong("RoleID");会出错,更奇怪的是同样的代码在别人机器上运行是正确的,我如果改成rd.RoleID =(long)rs.getDouble(1);好像可以,而且同样的问题也出现在rd.RoleName =rs.getString("RoleName").trim() ;用这条语句取出来的是乱码,改成
rd.RoleName = (new String(rs.getBytes(2))).trim();就可以,不知道这是为什么?,我想是不是与我用的mysql或者是mysqljdbc connector有关啊,请哪位高手指点一下,感激不尽!
解决方案 »
- 一个JApplet小程序开始运行蛮好的可后来不知道为什么只能显示“登录”这个JButton而姓名之类的JLabel显示不出来了
- applet java.awt.AWTPermission "createRobot" 权限赋予
- 定时检测数据库,如果有新数据,提取出来转发走,怎么来实现
- SCJP的问题
- 如何做出,JSlider 松开滑块后返回原值
- 急!两个奇怪的小问题!
- 求教多线程下载中的任务分发算法
- 这个用正则表达怎么写?
- 已有byte[]数组,如何转为Image或者BufferedImage对象
- 大家有没有碰到过JTextArea.setText()不上的时候,我已经碰到好多次了,虽然机率很小。我该怎么解决?
- 初级问题, 如何将 jDialog 的内容付给JFrame上面的参数。
- 请教关于ultraedit的问题
====================================================
看看你机子上和别人机子上mysql的jdbc驱动是否是一样的