c.setOnAction(e->{ if(wenben.getText().equals("user") && mima.getText().equals("123456") ) {将上述事件处理程序中判断正确的改为数据库中的信息怎么写
时间: 2023-12-03 19:45:50 浏览: 72
要从数据库中获取信息并进行比较,你需要使用JDBC(Java Database Connectivity)连接到你的数据库。以下是一个示例:
```
// 导入JDBC相关的包
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
// JDBC连接数据库
String url = "jdbc:mysql://localhost:3306/test"; // 数据库URL,test是数据库名
String user = "root"; // 数据库用户名
String password = "123456"; // 数据库密码
try {
// 加载JDBC驱动
Class.forName("com.mysql.jdbc.Driver");
// 建立数据库连接
Connection conn = DriverManager.getConnection(url, user, password);
// 查询数据库中的用户名和密码
String sql = "SELECT * FROM user WHERE name=? AND password=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, wenben.getText());
pstmt.setString(2, mima.getText());
ResultSet rs = pstmt.executeQuery();
// 如果查询结果有数据,则表示用户名和密码正确
if (rs.next()) {
// 用户名和密码正确,执行相应的操作
} else {
// 用户名或密码不正确,给出错误提示
}
// 关闭数据库连接
rs.close();
pstmt.close();
conn.close();
} catch (ClassNotFoundException e) {
// JDBC驱动类未找到异常
e.printStackTrace();
} catch (SQLException e) {
// SQL异常
e.printStackTrace();
}
```
上面的代码中,我们使用JDBC连接到MySQL数据库,查询用户名和密码是否正确。在查询时,我们使用了预处理语句,将输入的用户名和密码作为参数传递给查询语句,以避免SQL注入攻击。如果查询结果有数据,则表示用户名和密码正确,可以执行相应的操作。否则,给出错误提示信息。最后,记得关闭数据库连接。
阅读全文