Java 如果SQL查询不返回任何内容,rs.getString(1)将返回什么
这是我的密码: 连接数据库的代码:Java 如果SQL查询不返回任何内容,rs.getString(1)将返回什么,java,sql,Java,Sql,这是我的密码: 连接数据库的代码: Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=city_mart;user=sa;password=aptech"); Statement st=con.createStatement(); String
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=city_mart;user=sa;password=aptech");
Statement st=con.createStatement();
String sql="Select Emp_login_ID from employee where Emp_login_ID = '"+r3.getText()+"' ";
ResultSet rs=st.executeQuery(sql);
String login = rs.getString(1);
if (r3.getText().equalsIgnoreCase(login))
{
JOptionPane.showMessageDialog(rootPane, "Login ID not available.");
}
else
{
JOptionPane.showMessageDialog(rootPane, "Login ID is available.");
}
谢谢。非常感谢您的帮助。您在调用
ResultSet\getString()之前忘记调用ResultSet\next()
首先在第一行移动光标,然后获取任何列的值
我建议您使用preparedstation
而不是语句
阅读关于和的教程
应该是这样的:(检查rs.next()返回的值)
您可以尝试:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=city_mart;user=sa;password=aptech");
Statement st=con.createStatement();
String sql="Select Emp_login_ID from employee where Emp_login_ID = '"+r3.getText()+"' ";
ResultSet rs=st.executeQuery(sql);
while(rs.next()){
String login = rs.getString(1);
if (r3.getText().equalsIgnoreCase(login))
{
JOptionPane.showMessageDialog(rootPane, "Login ID not available.");
}
else
{
JOptionPane.showMessageDialog(rootPane, "Login ID is available.");
}
}
将光标从当前位置向前移动一行。A.
结果集光标最初位于第一行之前;这个
对方法next的第一次调用使第一行成为当前行;这个
第二次调用使第二行成为当前行,依此类推
您可以阅读有关结果集的下一个方法的信息它将引发异常,因为您未能调用ResultSet.Next()
。如果您调用了它,它将返回false
,您根本不应该调用rs.getString()
。在查询中使用单引号不是一个好方法。并非所有数据库都支持它。读取类。forName()行从2007年起就不再需要了。
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=city_mart;user=sa;password=aptech");
Statement st=con.createStatement();
String sql="Select Emp_login_ID from employee where Emp_login_ID = '"+r3.getText()+"' ";
ResultSet rs=st.executeQuery(sql);
while(rs.next()){
String login = rs.getString(1);
if (r3.getText().equalsIgnoreCase(login))
{
JOptionPane.showMessageDialog(rootPane, "Login ID not available.");
}
else
{
JOptionPane.showMessageDialog(rootPane, "Login ID is available.");
}
}