0

これは一般的な質問であり、通常のStackOverflowではありません。「誰かが私の構文の間違いを訂正してくれませんか...」

SQLは最も素晴らしく凝縮された言語なので、1行でレコードを保存できます。例えば

INSERT INTO database VALUES (4,'Nilsen', 'Johan', 'Bakken 2', 'Stavanger')

しかし、SQLiteを使用してCocoaにレコードを保存/挿入したい場合は、14に近い値を書き込むことになります。

NSString *insertSQL = [NSString stringWithFormat: @"INSERT INTO CONTACTS (name, address, phone) VALUES (\"%@\", \"%@\", \"%@\")", name.text, address.text, phone.text];    
const char *insert_stmt = [insertSQL UTF8String];         
sqlite3_prepare_v2(contactDB,insert_stmt, -1, &statement, NULL);
if (sqlite3_step(statement) == SQLITE_DONE) {
self.status.text = @"Contact added";
self.name.text = @"";
self.address.text = @"";
self.phone.text = @"";
} else {
self.status.text = @"Failed to add contact";
}
sqlite3_finalize(statement);
sqlite3_close(contactDB);

  }}

私は各行が何をしているのか理解していますが、Cocoa / SQLiteの初心者として、もっと簡単な方法があるかどうか、または最もトリテストなSQLコマンドを実行するたびにこのレベルの冗長性を逆流させる必要があるかどうかを再確認したいと思います。 。

どうもありがとうございました

4

2 に答える 2

1

FMDB (優れた SQLite ラッパー) を使用します。

于 2012-06-08T20:54:57.600 に答える