gpt4 book ai didi

java - 如何在另一个类中检索用户名和密码?

转载 作者:行者123 更新时间:2023-11-29 08:40:08 24 4
gpt4 key购买 nike

以下 LOGINFORM 类存储用于登录 GUI 的正确用户名和密码。

登录类(class)....

public class LoginForm extends javax.swing.JFrame {

String username;
String password;

//rest of code here

我如何检索要在该行中另一个类的准备好的语句中使用的登录表单用户名和密码(“从学术信息中选择*,其中电子邮件=?和密码=?”);替换 ? ,这将使我能够从 sql 数据库中获取特定字段?

检索类(class)....

public void retrieveAcademic() {

try {
pst = con.prepareStatement("SELECT * FROM AcademicInfo where Username=? and Password=?");
rs = pst.executeQuery();
while (rs.next()) {
title = (rs.getString(2));
forename = (rs.getString(3));
surname = (rs.getString(4));
role = (rs.getString(5));
room = (rs.getString(6));
page = (rs.getString(7));
hours = (rs.getString(8));
phone = (rs.getString(9));
mobile = (rs.getString(10));
email = (rs.getString(11));


} //end while
}

最佳答案

Loginform 需要对包含 retrieveAcademic() 方法的类实例的引用。如何创建/传递该引用在很大程度上取决于应用程序的结构(例如通过依赖项注入(inject)、简单的构造等)。

请注意,另一种方法是让与数据库相关的类引用 LoginForm 并调用适当的 getter,例如getPassword()getUsername()

但是,我怀疑您想要某种包含这些凭据的模型对象,以便其他组件可以在需要时访问它们。您的登录表单是暂时的,您将来可能有其他登录方式(例如,您可能有网络服务或类似服务)。我意识到这可能是超前的想法,但你明白了。

传递用户名/密码的最简单方法是将它们作为 2 个参数传递,例如

db.retrieveAcademic(username, password);

并在方法调用中PreparedStatement.setString()对于适当的字段。

(您可能希望将用户名密码字段包装到单独的对象Credentials或类似对象中,但这是稍后的事)

关于java - 如何在另一个类中检索用户名和密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14055065/

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