如何通过objective-C在sqlite3中运行sql脚本文件

时间:2010-08-15 21:31:32

标签: objective-c sqlite

这是我的问题,当通过终端与Sqlite 3交互时,您可以通过执行以下命令来执行存储在txt文件中的SQL语句:

 .read filename

有没有办法通过Objective-C代码做这样的事情?即我在代码中连接了一个sqlite3 db文件,我想以编程方式运行脚本文件。

2 个答案:

答案 0 :(得分:5)

我知道这是一个非常古老的问题。我以为我会留下我用过的代码以防其他人发现它有用

-(BOOL)execFile:(NSString*)filepath
{
    NSError* error;
    NSString* content = [NSString stringWithContentsOfFile:filepath encoding:NSUTF8StringEncoding error:&error];
    if(error)
    {
        return NO;
    }
    char* execError;
    int x = sqlite3_exec(_database, [content UTF8String], nil, nil, &execError);
    if(execError)
    {
        NSLog(@"%s", execError);
    }
    return x == SQLITE_OK;
}

答案 1 :(得分:1)

您可以逐行转发文件内容,或者整个转发到函数exec