【发布时间】:2018-04-22 11:36:44
【问题描述】:
try
{
Class.forName("org.sqlite.JDBC");
Connection c=DriverManager.getConnection("jdbc:sqlite:voter.db");
ResultSet rs;
Statement s;
s=c.createStatement();
p="select voterId,password from voter where name='userName'";
rs=s.executeQuery(p);
while(rs.next())
{
vi=rs.getString("voterId");
pw=rs.getString("password");
if(voterId.equalsIgnoreCase(vi)&&Password.equalsIgnoreCase(pw))
{
voting v =new voting();
v.setVisible(true);
this.dispose();
}else
{
System.out.println("Invalid pasword");
}
}
这是我的登录表单代码,我试图将 jTextField 的 voteID 和 Password 与存储在数据库中的 voterID 和密码进行比较。使用neatbeans,但它不允许我登录,而是输入了正确的用户名和密码。
【问题讨论】:
-
是的,我正在尝试从结果集中比较字符串类型的值。可能有问题,可能是我的方式错误,请建议我
-
如果
voterId是您的JTextField用户ID,则需要voterId.getText().equalsIgnoreCase(vi)进行比较。与Password类似。 -
这里我的 voterId 是一个字符串类型的变量,即 String voterId=jTextField3.getText();之后我想将它与 vi 进行比较,类似地,username=jTextField2.getText() 但是当我比较并单击登录按钮时它没有响应我,这意味着什么都没有发生。
-
如果您希望其他人分析您的代码,请按照正确和一致的缩进方式进行。