Authentication 从数据库中检索用户名和密码

Authentication 从数据库中检索用户名和密码,authentication,passwords,blackberry-10,Authentication,Passwords,Blackberry 10,我正在制作一个需要在登录页面输入用户名和密码的应用程序。 如何在blackberry 10 cascades中从数据库中检索用户名和密码?请提及代码…将以下行添加到.pro文件中 LIBS+=-lbbdata 然后您可以编写以下代码: QVariant searchResult; QVariantList searchList; QString userName, password; bb::data::SqlDataAccess sda(QDir::curre

我正在制作一个需要在登录页面输入用户名和密码的应用程序。
如何在blackberry 10 cascades中从数据库中检索用户名和密码?请提及代码…

将以下行添加到.pro文件中 LIBS+=-lbbdata

然后您可以编写以下代码:

    QVariant searchResult;
    QVariantList searchList;
    QString userName, password;

    bb::data::SqlDataAccess sda(QDir::currentPath() + "/app/native/assets/sample.sqlite");

    searchResult = sda.execute("select * from usersTable where userId=5");
    searchList = searchResult.value<QVariantList>();

    userName = searchList.at(0).toMap()["name"];
    password = searchList.at(0).toMap()["password"];

按结果集从数据库中获取所需的用户和密码

String user=usertx.getText();
char[] password=pswdtx.getPassword();
String pswd=String.valueOf(password);   \\here is important to put a char password in string.`
我们通过以下方式调用require用户及其密码:

Resultset rs= stmt.excuteQuery("SELECT * FROM USERS WHERE NAME='"+user+"' AND PASSWORD='"+pswd+"'");
此代码将仅获取选定用户的行及其行上的信息,并将其设置在rs中。rs的代码。下一步:

以下是全部代码:

private void submitActionPerformed(java.awt.event.ActionEvent evt) {                                       
    try {
        String user=usertx.getText();
        char[] password=pswdtx.getPassword();
        String pswd=String.valueOf(password);

        String rsuser=null;
        String rspswd=null;
        String Q="SELECT * FROM USERS WHERE NAME='"+user+"' AND PASSWORD='"+pswd+"'";
        rs=stmt.executeQuery(Q);

        while(rs.next()){
        rsuser=rs.getString("NAME");
        rspswd=rs.getString("PASSWORD");}
        if ((user.equals(rsuser)) && (pswd.equals(rspswd))){
        JOptionPane.showMessageDialog(null, "Username and Password exist");}
        else {
            JOptionPane.showMessageDialog(null, "Please Check Username and Password ");}
        } 
    catch (SQLException ex) {ex.printStackTrace();}
}

你想把这个数据库放在哪里?您永远不应该保存实际密码,您只需检查密码是否正确,而不必重新获取。对不起。。。。我使用的数据库是sqlite。我实际上想进行身份验证,如果用户输入的凭据正确,只有这样,他才会被重定向到qml主页。请尽可能提供正确的代码,因为我是否尝试过任何操作?我需要从数据库中获取列表用户名和密码,并与文本框中的用户名和密码进行比较。Hamed,考虑一个数据库,例如表有5列,其中有相应的记录。另一方面,考虑一个QML页面,它有5个文本框/标签。是否可以将这些文本框/标签与该数据库的5列的文本框/标签进行映射,以便在要求sql查询一次从多个列检索数据时示例:从tablename中选择,其中column1=****和column2=***。。。。。和column5=****其中column1的结果数据发送到第一个文本框,column2将数据发送到第二个文本框。。。至第5个文本框?如果可能,请提供代码。。。。希望你明白我的问题。。。提前谢谢
private void submitActionPerformed(java.awt.event.ActionEvent evt) {                                       
    try {
        String user=usertx.getText();
        char[] password=pswdtx.getPassword();
        String pswd=String.valueOf(password);

        String rsuser=null;
        String rspswd=null;
        String Q="SELECT * FROM USERS WHERE NAME='"+user+"' AND PASSWORD='"+pswd+"'";
        rs=stmt.executeQuery(Q);

        while(rs.next()){
        rsuser=rs.getString("NAME");
        rspswd=rs.getString("PASSWORD");}
        if ((user.equals(rsuser)) && (pswd.equals(rspswd))){
        JOptionPane.showMessageDialog(null, "Username and Password exist");}
        else {
            JOptionPane.showMessageDialog(null, "Please Check Username and Password ");}
        } 
    catch (SQLException ex) {ex.printStackTrace();}
}