我的表格中有2列(wordid,word)。我尝试检索单词以测试sqlite部分。 并且下面的语句总是返回NULL。我很确定我的数据库没有问题,因为我已经在firefox附加组件(sqlite manager)上测试了该语句。
NSString *str;
const char *dbpath = [_databasePath UTF8String];
sqlite3_stmt *statement;
if (sqlite3_open(dbpath, &_db) == SQLITE_OK){
NSString *querySQL = [NSString stringWithFormat:@"SELECT word FROM Circle_En WHERE wordid=2"];
const char *query_stmt = [querySQL UTF8String];
if (sqlite3_prepare_v2(_db,query_stmt, -1, &statement, NULL) == SQLITE_OK){
if (sqlite3_step(statement) == SQLITE_ROW){
str = [[NSString alloc]initWithUTF8String:(char *) sqlite3_column_text(statement, 0)];
}
}
sqlite3_finalize(statement);
sqlite3_close(_db);
}
感谢任何建议。
最诚挚的问候,
塔哈
答案 0 :(得分:0)
你在列号部分做错了。
单词是index(columnnumber)1。 所以你需要这个:
str = [[NSString alloc]initWithUTF8String:(char *) sqlite3_column_text(statement, 1)];