我的代码很简单,只创建一个空表。这是我的代码:
#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>
int main(int argc, char *argv[])
{
sqlite3 *ppdb;
int retval;
retval = sqlite3_open_v2("v2.db", &ppdb,
SQLITE_OPEN_CREATE, "unix-none");
if (retval != SQLITE_OK)
{
printf(stderr, "%s\n", sqlite3_errmsg(ppdb));
return 1;
}
retval = sqlite3_exec(ppdb,
"CREATE TABLE IF NOT EXISTS userinfo \
(id TEXT PRIMARY KEY, pass TEXT NOT NULL)",
NULL, NULL, NULL);
if (retval != SQLITE_OK)
{
fprintf(stderr, "%s\n", sqlite3_errmsg(ppdb));
return 1;
}
sqlite3_close(ppdb);
return 0;
}
但是当我运行它时,我收到了这个错误信息:
Out of memory
我调试这段代码,我发现sqlite3_open_v2
已经返回21
(库使用不正确)
如何解决?