我需要为网页应用程序执行任务,即通过查询来显示客户端信息的页面 通过客户端的会话ID(或其他方法),并在我的会员数据库中执行mySQL查询。
序列应如下: 1.客户登录 2.比较客户的密码和会员数据库,如果匹配,客户端将能够访问某些页面 3.其中一个可访问页面(在2中提到)将包含一个链接,然后该链接将在成员资格数据库中查询客户端的信息 4.查询的行(结果)将显示在网页中,并带有适当的css
只是免责声明,我是java的初学者
会员数据库 表的名称=成员
id | first name | last name | address | telephone number
我已经创建并设置了与数据库的jdbc连接:
public void init () throws ServletException {
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/membership","root","");
stmt = conn.createStatement();
} catch (ClassNotFoundException ex) { // for Class.forName()
ex.printStackTrace();
} catch (SQLException ex) { // for getConnection()
ex.printStackTrace();
}
}
String query = "SELECT * FROM member WHERE xxx ";
ResultSet rset = stmt.executeQuery(query);
我的问题是:我如何在这里为我的问题抓取必要的行?我应该如何解决这个问题?
非常感谢你的建议答案 0 :(得分:1)
“我的问题是:我如何在这里为我的问题抓取必要的行?”
使用ResultSet对象(rset)。然后检索您需要的任何列。 类似的东西:
while (rs.next()) {
int ID = rs.getInt("id");
String fName = rs.getString("first_name");
String lName = rs.getString("last_name");
String address = rs.getString("address");
String phone = rs.getString("telephone_number");
}
答案 1 :(得分:0)
首先,我强烈建议您的列名中没有空格(例如,使用'_'代替) 您登录的用户凭据是什么?我想它是用户名或者email_address以及密码。无论第一部分是什么(例如用户名),您都可以将其用作成员表的主键。因此,在他们登录后,您已经拥有了用户名,并在SQL查询中形成了'where'子句。 (如果他们使用email_address登录,则一切都是相同的,使用它代替用户名。)
所以步骤是
不要存储密码明文,因此无论你申请存储它们的变换,在执行#2之前也要将其应用于给定的密码。如果您选择将用户名不是主键,请确保通过约束使其至少为“唯一”。