java 数据库里表的某一列取最大值
try{Statementlo=L.openDatabase().createStatement();JOptionPane.showMessageDialog(null...
try {
Statement lo = L.openDatabase().createStatement();
JOptionPane.showMessageDialog(null, "1");//这个显示了
ResultSet rs = lo.executeQuery("SELECT MAX(Sid) FROM User_Student");
JOptionPane.showMessageDialog(null, rs.getString(1).trim());
String i=null;
if(rs.next())
{
i=rs.getString(1).trim();
JOptionPane.showMessageDialog(null, i);
JTFSid.setText(i+1);
}
else
JTFSid.setText("0");
}
catch (Exception e)
{
JOptionPane.showMessageDialog(null, "数据库出现问题!");
}
为了做测试,加入了几个弹出的消息框。但是只有两个对话框显示,一个是显示 1 ;另一个是try跳到了catch里弹出来现实的 数据库出现问题。 但是数据库没有问题,应该是SQL语句错了。但是这个语句在SQL2008里执行出的结果是对的啊。。。应该没错啊。
JTFSid是文本框。然后表里面Sid的数据类型是int。。 展开
Statement lo = L.openDatabase().createStatement();
JOptionPane.showMessageDialog(null, "1");//这个显示了
ResultSet rs = lo.executeQuery("SELECT MAX(Sid) FROM User_Student");
JOptionPane.showMessageDialog(null, rs.getString(1).trim());
String i=null;
if(rs.next())
{
i=rs.getString(1).trim();
JOptionPane.showMessageDialog(null, i);
JTFSid.setText(i+1);
}
else
JTFSid.setText("0");
}
catch (Exception e)
{
JOptionPane.showMessageDialog(null, "数据库出现问题!");
}
为了做测试,加入了几个弹出的消息框。但是只有两个对话框显示,一个是显示 1 ;另一个是try跳到了catch里弹出来现实的 数据库出现问题。 但是数据库没有问题,应该是SQL语句错了。但是这个语句在SQL2008里执行出的结果是对的啊。。。应该没错啊。
JTFSid是文本框。然后表里面Sid的数据类型是int。。 展开
2个回答
展开全部
因为你sid的数据类型是int类型的,但是trim()这个方法是字符串才有的这个方法,属于程序在运行过程中报错了,被catch捕捉到了,所以才会运行出了两个弹框。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
rs.getString(1) 这是你用 getInt() 试一下
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询