这是我的问题,当通过终端与Sqlite 3交互时,您可以通过执行以下命令来执行存储在txt文件中的SQL语句:
.read filename
有没有办法通过Objective-C代码做这样的事情?即我在代码中连接了一个sqlite3 db文件,我想以编程方式运行脚本文件。
答案 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