gpt4 book ai didi

java - 如果 SQL 查询不返回任何内容,rs.getString(1) 将返回什么

转载 作者:行者123 更新时间:2023-11-30 03:49:28 24 4
gpt4 key购买 nike

这是我的代码:

连接数据库的代码:

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()

首先将光标移动到第一行,然后获取任意列的值。

我建议您使用PreparedStatment而不是Statement

阅读 Using Prepared Statements 上的教程和 When we use PreparedStatement instead of Statement?

应该是这样的:(检查 rs.next() 返回的值)

String sql="Select Emp_login_ID from employee where Emp_login_ID = ?";
PreparedStatement st = con.prepareStatement(sql);
st.setString(1,r3.getText());

ResultSet rs=st.executeQuery(sql);
if(rs.next()){
String login = rs.getString(1);
JOptionPane.showMessageDialog(rootPane, "Login ID is available.");
}else{
JOptionPane.showMessageDialog(rootPane, "Login ID not available.");
}

关于java - 如果 SQL 查询不返回任何内容,rs.getString(1) 将返回什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24793152/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com