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.");
   }
}