【发布时间】:2011-03-30 04:42:44
【问题描述】:
这是我的问题,通过终端与Sqlite 3交互时,可以通过执行以下命令来执行存储在txt文件中的SQL语句:
.read filename
有没有办法通过 Objective-C 代码来做这样的事情?即我在代码中连接了一个 sqlite3 db 文件,我想以编程方式运行一个脚本文件。
【问题讨论】:
标签: objective-c sqlite
这是我的问题,通过终端与Sqlite 3交互时,可以通过执行以下命令来执行存储在txt文件中的SQL语句:
.read filename
有没有办法通过 Objective-C 代码来做这样的事情?即我在代码中连接了一个 sqlite3 db 文件,我想以编程方式运行一个脚本文件。
【问题讨论】:
标签: objective-c sqlite
您可以将文件的内容逐行转发,也可以全部转发给函数exec
【讨论】:
我知道这是一个非常古老的问题。我只是想我会留下我使用的代码,以防其他人发现它有用
-(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;
}
【讨论】: