iは、SQLiteのデータベースを作成するデータを挿入し、そこからデータを検索に関するチュートリアルを追跡し、そのDBからデータを抽出するために以下の方法を用いる:sqliteから名前でデータを検索する方法は?
-(IBAction)findContacts{
const char *dbpath = [databasePath UTF8String];
sqlite3_stmt *statement;
if (sqlite3_open(dbpath, &contactDB)==SQLITE_OK) {
NSString *querySQL = [NSString stringWithFormat:@"SELECT adress, phone FROM CONTACTS WHERE name = \"%@\"", [name text]];
status.text = querySQL;
const char *query_stmt = [querySQL UTF8String];
if (sqlite3_prepare_v2(contactDB, query_stmt, -1, &statement, NULL) == SQLITE_OK) {
if (sqlite3_step(statement)==SQLITE_ROW) {
NSString *adressField = [[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement, 0)];
adress.text = adressField;
NSString *phoneField = [[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement, 1)];
phone.text = phoneField;
status.text = @"Match Found";
[adressField release];
[phoneField release];}
status.text = @"Match not Found";
adress.text = @"";
phone.text = @"";
sqlite3_finalize(statement);}
sqlite3_close(contactDB);}}
iをコンパイルするとき、エラーなし!注意しないで!しかし、私が見つけたもの
はsqlite3_prepare_v2(contactDB, query_stmt, -1, &statement, NULL) == SQLITE_OK)
が等しくなかったので、コードはstatemens場合できていなかったということでした...動作しません。私は
sqlite3_prepare_v2(contactDB, query_stmt, -1, &statement, NULL) != SQLITE_OK)
と条件を逆にしてstatus.textで見たとき、「一致するものが見つからない」ということが分かりました。それでも真の連絡先を見つけることができませんでした。
あなたはコードに間違ったことを認識しましたか?
事前のおかげで...
あなたの助けによって解決されました。おかげでque que ... :) – Karaca