我有一个关于插入和检索代码的问题
没有运行时错误,但插入数据不起作用,检索代码仅检索数据库中的最后一条记录。
使用NSString和NSMutableString哪个更好?
NSLog(@"test");
NSString *sql1 = [NSString stringWithFormat:@"INSERT INTO User Values (2,'%@','','F','123','','','','','A','B','123','123',2)",name.text];
char *err;
sqlite3_exec(database, [sql1 UTF8String], NULL, NULL, &err)!= SQLITE_OK ;
const char *sql = "select * from User";
sqlite3_stmt *searchStatement;
if (sqlite3_prepare_v2(database, sql, -1, &searchStatement, NULL) == SQLITE_OK)
{
while (sqlite3_step(searchStatement) == SQLITE_ROW)
{
char * try = (char*)sqlite3_column_text(searchStatement, 1);
if (try){
item = [NSMutableString stringWithUTF8String:try];
}
else{
item = @"";
}发布于 2012-03-11 07:18:58
问题似乎出在您的检索代码中。sqlite3_column_type方法使用从零开始的索引,但它看起来像是从位置1开始。因此,每次遍历时,都没有提取出所需的信息。我不确定为什么你会得到最后一件物品,但尝试从位置0开始,看看这是否有帮助。
https://stackoverflow.com/questions/9648512
复制相似问题