sqlite3无法在我的iphone应用程序中运行

时间:2010-08-18 12:30:09

标签: iphone objective-c sqlite

我想在我的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.

打开数据库没有问题。应该是什么原因?任何解决方案都可观。 谢谢

2 个答案:

答案 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);
  }

希望它会对你有所帮助; - )