java - ResultSet 总是返回 null,不管 JDBC/MySQL、Java 有什么变化
问题描述
我有一个带有登录表单的应用程序。我想要的只是检索登录用户的凭据,即从登录表单中选择用户名和密码并进行简单的选择查询。但是,无论我做了什么更改,结果集总是返回 null。我想问一下可能是什么问题?为了测试的目的,我制作了 2 个静态变量,我在其中存储了检索到的用户名和密码(我将在 1 类用户中的这些字段旁边制作另一个,但在我修复这个之后)。代码如下:/数据库中的字段与getString()方法括号中的字段完全相同/
package graphical_interface;
import business_logic.User;
import javafx.application.Platform;
import javafx.fxml.FXML;
import javafx.scene.Parent;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class Controller {
@FXML
public Button loginB;
public Button exitB;
public TextField userinp;
public TextField passinp;
public Parent pr;
public static String s1 = null;
public static String s2 = null;
@FXML
private void closeApp() {
Platform.exit();
}
String username = null;
String password = null;
@FXML
private void checkB(){
try {
PreparedStatement pstmt2 = null;
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://remotemysql.com/CXcocPWj6l", "CXcocPWj6l", "czNrEV9umD");
String query = "select * from User where Username = ? and PassWord = ?";
pstmt2.setString(1,userinp.getText());
pstmt2.setString(2,passinp.getText());
ResultSet valueExist = pstmt2.executeQuery(query);
if(valueExist.next()){
s1 = valueExist.getString("Username");
s2 = valueExist.getString("PassWord");
// System.out.println(valueExist.getString("PassWord");
}
conn.close();
System.out.println(s1);
System.out.println(s2);
} catch (Exception exp){
System.out.println(exp.getLocalizedMessage());
}
}
}
解决方案
SQL 语法似乎是正确的,所以几个问题:您确定该表包含您要查找的记录吗?你确定“userinp.getText()”和“passinp.getText()”返回不为空的东西吗?
最后两个建议:使用资源尝试或至少使用 finally 块。
推荐阅读
- google-cloud-platform - Compute Engine 虚拟机创建通知
- tcp - 垂直和水平方法是 OSI 和 TCP/IP 模型
- reactjs - material UI datagrid 垂直滚动条
- python - 如何消除熊猫 groupby 中聚合列的附加行
- javascript - JSON stringify 跳过具有 3 个以上级别的嵌套对象
- c# - 在开发和测试阶段而不是生产阶段激活单元测试
- python - np.quantile 在 3d 数组上运行非常缓慢
- google-sheets - 每天从原始表格更新新的 Google 表格
- django - MultiValueDictKeyError hen 添加行与 inlineformset
- authentication - 如何根据登录用户进行过滤?