在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: 只进结果集不支持请求的操作。
哪位大侠帮忙看看,纠结啊,老是这个问题 展开
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: 只进结果集不支持请求的操作。
哪位大侠帮忙看看,纠结啊,老是这个问题 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询