テキストフィールドの電子メールの値を sqlite データベースの値と比較する際に問題があります。両方の値が同じ場合、「電子メールはデータベースに既に存在します」という警告ボックスが表示されます。この目的のために findcontact という名前の関数を作成しました。ボタンのクリックから関数を呼び出しています。ボタンをクリックすると、ボタンクリックメソッドがfindContactメソッドに書き込んだログを生成するため、ボタンクリックメソッドが機能しています。
しかし、私にとっての問題は、両方の電子メールが一致する場合に電子メールと表示アラートボックスの両方を比較する方法です
- (void) findContact:(NSString *) email{
const char *dbpath = [path UTF8String];
if (sqlite3_open(dbpath, &database) == SQLITE_OK){
NSString *querySQL = [NSString stringWithFormat: @"SELECT email FROM CONTACT WHERE email=\"%@\"",email];
NSLog(@" email = %@", querySQL);
const char *query_stmt = [querySQL UTF8String];
NSLog(@" char email = %s", query_stmt);
if (sqlite3_prepare_v2(database, query_stmt, -1, &init_statement, NULL) == SQLITE_OK){
if (sqlite3_step(init_statement) == SQLITE_ROW){
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"email already exist in database" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"OK ", nil];
[alert show];
[alert release];
}
else {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Success" message:@"email not exist" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"OK ", nil];
[alert show];
[alert release];
}
sqlite3_finalize(init_statement);
}
sqlite3_close(database);
}
}