在java中只进结果集,不支持请求的操作是什么意思

this.menuItemSel=newJMenuItem("查询");this.menuItemSel.addActionListener(newActionListe... this.menuItemSel = new JMenuItem("查询");
this.menuItemSel.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
Statement sta = null;
Connection con = null;
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://127.0.0.1:1433;databasename = myuser";
con = DriverManager.getConnection(url, "sa", "123");
sta = con.createStatement();
ResultSet rs = sta.executeQuery("select *from student");//得到结果集
ResultSetMetaData rsmd = rs.getMetaData();//获取此 ResultSet 对象的列的编号、类型和属性。
int columns = rsmd.getColumnCount();//获得列数
rs.last();//将光标移动到此 ResultSet 对象的最后一行。
int rows = rs.getRow();//获得行数
String[] colNames = new String[columns];
Object[][] cells = new Object[rows+1][columns];
rs.first();//将光标移动到此 ResultSet 对象的第一行。
for(int i = 0; i < columns; i++){
colNames[i] = rsmd.getColumnLabel(i+1);
cells[0][i] = rsmd.getColumnLabel(i+1);
}
rs.beforeFirst();// 将光标移动到此 ResultSet 对象的开头,正好位于第一行之前。
for(int i = 0; i < rows; i++){
if(rs.next()){
for(int j = 0; j < columns; j++){
cells[i][j] = rs.getString(j+1);
//以 Java 编程语言中 String 的形式获取此 ResultSet 对象的当前行中指定列的值。
}
}
}
JTable table = new JTable(cells,colNames);
JFrame frame2 = new JFrame();
frame2.add(table);
frame2.setBounds(100, 300, 400, 300);
frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame2.setVisible(true);
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
}

});
}

}
com.microsoft.sqlserver.jdbc.SQLServerException: 只进结果集不支持请求的操作。

哪位大侠帮忙看看,纠结啊,老是这个问题
展开
 我来答
Loxy___
2013-03-25 · 超过18用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:43万
展开全部
sta = con.createStatement();将这句加上参数

sta = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE);

不然的话结果集只能迭代一次,你的代码里多次用到了rs.first(),rs.last().
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式