-3

我是 Xcode 和 Objective-C 的新手。我需要为我的 iOS 应用程序创建登录功能。当任何人在各自的字段中输入用户名和密码并点击登录时,应用程序应该与保存用户名和密码的 sqlite 数据库通信。如果用户名、密码对与数据库中的条目匹配,则用户应该能够进入下一页,否则应该显示正确的错误消息。

4

2 回答 2

1

SDLoginKit可能是一个好的开始。

于 2013-03-22T11:45:36.057 回答
0
  1. 创建一个返回boolean结果的方法。
  2. 创建一个查询,检查用户在数据库中输入的用户名和密码。
  3. 如果用户名和密码匹配,则方法返回trueelse 返回false
  4. 如果true,登录后将用户移动到下一个屏幕,否则显示alert无效凭据。

    -(BOOL)validateUser
    {
        [self openDatabase];
    
        BOOL isValid = FALSE;
    
        sqlite3_stmt *compiledStatement;
    
    
        const char *sql ="select UserId from MstUser where Username = ? and Password = ?";
    
        if(sqlite3_prepare_v2(mainDatabase, sql , -1, &compiledStatement, NULL)==SQLITE_OK)
        {
            sqlite3_bind_text(compiledStatement, 1, [txtUsername UTF8String], -1, SQLITE_TRANSIENT);
            sqlite3_bind_text(compiledStatement, 2, [txtPasswrod UTF8String], -1, SQLITE_TRANSIENT);
            while (sqlite3_step(compiledStatement) == SQLITE_ROW )
            {
                isValid = True;
                int userId = sqlite3_column_int(compiledStatement, 0);
            }
        }
        else
        {
            NSLog(@"Error : -------'%s'", sqlite3_errmsg(mainDatabase));
        }
    
        sqlite3_finalize(compiledStatement);
        sqlite3_close(mainDatabase);
        compiledStatement = nil;
    
        return isValid;
    }
    
    if ([self validateUser])
    {
        //Login user
    }
    else 
    {
        //alert to show invalid user
    }
    
于 2013-03-22T11:37:49.857 回答