我想在我的iphone应用程序中使用sqlite3。但它没有用。场景是: - 在按钮的单击事件上,应运行方法并从数据库中检索数据。但我的程序序列不会进入
if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) {
const char *sqlStatement = "select * from records";
sqlite3_stmt *compiledStatement;
0NSLog(@"%s", sqlite3_errmsg(database)); // Results - no error
-
if(sqlite3_prepare_v2(database, sqlStatement, -1, &compiledStatement, NULL) == SQLITE_OK) {
//here NSLog statement does not work.
打开数据库没有问题。应该是什么原因?任何解决方案都可观。 谢谢
答案 0 :(得分:1)
试试这个:NSLog(@"%s", sqlite3_errmsg(database));
并查看您的查询中是否存在错误。
答案 1 :(得分:0)
以下是我自己代码的修改示例:
NSString *file = @"youdatabase.db"
sqlite3 *db;
if(sqlite3_open([file UTF8String], &db) == SQLITE_OK)
{
NSString *req = @"SELECT * FROM totoTable";
sqlite3_stmt *returnReq;
if(sqlite3_prepare(db, [req cStringUsingEncoding:NSUTF8StringEncoding], -1, &returnReq, NULL) == SQLITE_OK)
{
while (sqlite3_step(returnReq) == SQLITE_ROW)
{
//Printf first returned value
NSLog(@"%s", (char*)sqlite3_column_text(returnReq, 0));
}
}
sqlite3_close(db);
}
希望它会对你有所帮助; - )