这是一个普遍的问题,而不是通常的 StackOverflow “有人可以纠正我的语法错误......”
SQL 是最精简的语言,因此我可以在一行中保存一条记录。例如
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 命令时,我是否只需要重复这种冗长的级别。 .
非常感谢