【发布时间】:2009-12-07 11:28:24
【问题描述】:
首先,请允许我说我对 Objective C 开发还很陌生。我正在为 iphone 编写一个供个人使用的小应用程序,但我在执行以下代码时遇到了一些问题:
NSString *sql = [[NSString alloc] initWithFormat:@"select color_r, color_g, color_b from Calendar where ROWID = %@", [calendarsID objectForKey:[arrayColors objectAtIndex:row]]];
sqlite3_stmt *selectstmt;
if(sqlite3_prepare_v2(database, sql, -1, &selectstmt, NULL) == SQLITE_OK)
编译器告诉我,我正在从不兼容的指针类型传递 sqlite3_prepare_v2 的参数 2。无论如何,该程序已编译并运行,但是当它必须执行我刚刚向您展示的代码时,它会产生错误。它说查询中有语法错误,语法错误只是在查询的最后一部分。而不是:
从 ROWID = 63 的日历中选择 color_、color_g、color_b(例如)
我在最后一个数字 (63) 的位置出现了奇怪的字符。我想这是与字符串转换有关的问题。有谁能帮帮我吗?
非常感谢您的关注。 阿莱西奥
【问题讨论】:
-
Ewww...为什么是你直接反对SQLite API?首先,CoreData 比 API 更易于使用,并且在设备上原生支持。其次,正如 Dave 所建议的,有一堆包装器。
-
我告诉过你我没那么有经验。你知道有什么好的网站可以让我获得关于 SQLite 包装器和/或 CoreData 的文档(和示例)吗?谢谢。
标签: objective-c cocoa sqlite nsstring