2

我想插入、更新和删除并选择数据库中的 1000 条记录。我想在何时何地打开和关闭数据库连接。我插入,更新和删除数据库中的数据,但我错误“内存不足”,“无法打开数据库文件”,“锁定数据库”这种错误从我这边提出。这个问题怎么解决,求大神帮忙。。

4

2 回答 2

1

嘿 raj 每当您要处理数据库时,您首先打开数据库 Open db,在进行更改后,您必须通过调用 Close Db 方法关闭数据库。以下是在 iPhone 中使用 sqlite 的一些链接

http://www.techotopia.com/index.php/An_Example_SQLite_based_iPhone_Application

http://dblog.com.au/iphone-development-tutorials/iphone-sdk-tutorial-reading-data-from-a-sqlite-database/

http://blog.saers.com/archives/2008/03/14/sqlite-for-iphone-sdk/

http://how2s.org/index.php/How_to_get_started_with_SQLite_on_the_iPhone

我认为它可以帮助你。

于 2012-08-27T06:12:40.700 回答
0
NSData *d=UIImageJPEGRepresentation(image, 0.50);

    [dm writeImageInTable:[Base64 encode:d]];


-(void)writeImageInTable:(NSString *)imageString
{

    if (sqlite3_open([DB_PATH UTF8String], &database)==SQLITE_OK)
    {

        NSString *str=[NSString stringWithFormat:@"INSERT INTO imageTable (image) VALUES('%@')",imageString];
       //  NSLog(@"%@",str);
       const char *getFolderQuery=[str UTF8String];

       if(sqlite3_prepare_v2(database, getFolderQuery, -1, &queryForImage, NULL)==SQLITE_OK)
        {
             NSLog(@"test");
             int queryResult;
             if((queryResult=sqlite3_step(queryForImage)) == SQLITE_DONE)
             {
                 NSLog(@"sqlite done insert");
             }
             NSLog(@"sqlite error inside %s", sqlite3_errmsg(database));
         }
         sqlite3_reset(queryForImage);
         sqlite3_finalize(queryForImage);
         NSLog(@"sqlite error %s", sqlite3_errmsg(database));
         sqlite3_finalize(queryForImage);
    }
    else
    {

    }
    if(sqlite3_close(database)==SQLITE_OK)
    {
        NSLog(@"database closed");
    }
    else
    {
        NSLog(@"database still open with error %s",sqlite3_errmsg(database));
    }

}
于 2013-12-04T07:43:00.570 回答