Простое приложение, такое как страница входа - PullRequest
0 голосов
/ 05 апреля 2011

Я новичок в создании приложений для iPhone и пытаюсь создать простую страницу - она ​​похожа на страницу входа.У меня есть база данных SQLite, в которой есть имена пользователей и пароли.Мой графический интерфейс выглядит следующим образом: у меня есть два текстовых поля: имя пользователя и пароль, а также кнопка входа в систему.

Я нашел код для создания страницы входа, но он не работает.Проверьте код ниже, посмотрите, не ошибаюсь ли я.Он говорит: «Слишком много аргументов для функции isEqualToString:»

-(void)checkindatabase
{
    NSString *txtUsername = @"";
    NSString *txtPassword = @"";
    NSString *sqlStatement = @"";
    NSString *direct = [[NSString alloc]init] ;
    NSString *dbPath = [direct stringByAppendingPathComponent:@"journeymapper.db3"];


    if(sqlite3_open([dbPath UTF8String], &database) == SQLITE_OK)
    {

        sqlStatement = [[NSString alloc] initWithFormat:@"select Username='%@',Password='%@' from UserInformation",txtuser.text,txtpass.text];
        //[sql UTF8String];
            //NSLog(@"'%s'",[sql UTF8String]);
        sqlite3_stmt *statment;
        if(sqlite3_prepare_v2(database, [sqlStatement cStringUsingEncoding:NSUTF8StringEncoding], -1, &statment, NULL) == SQLITE_OK)
        {
             while (sqlite3_step(statment) == SQLITE_ROW)
             {
                 txtUsername = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(statment,1)] retain];
                 txtPassword = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(statment, 2)] retain];

             }


        }
                sqlite3_finalize(statment);
                sqlite3_close(database);
        if([txtUsername isEqualToString:@"%@",_Textuser]&&[txtPassword isEqualToString:@"%@",_Textpass])
            { 
                UIAlertView* alert = [[UIAlertView alloc] initWithTitle:nil message:@"You are  vaild user" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
                [alert show];
                [alert release];
            }


    }

}

-(IBAction)login
{
    [self checkindatabase]; 
}

Ответы [ 2 ]

1 голос
/ 05 апреля 2011

Вместо:

[txtUsername isEqualToString:@"%@",_Textuser]

использование:

[txtUsername isEqualToString:_Textuser]

или

[txtUsername isEqualToString:[NSString stringWithFormat:@"%@",_Textuser]]

Как говорилось в ошибке, у вас слишком много (2) аргументов, где метод -isEqualToString: ожидает только один.

0 голосов
/ 05 апреля 2011

вы передаете формат в isEqualToString:

вы можете сделать это, как вы можете сделать это как

[txtUsername isEqualToString:[NSString stringWithFormat:@"%@",_Textuser]];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...