为什么我不能插入我的数据库?我已经读过关于这个错误的多个线程,他们所有的问题都是他们忘记了为数据库打开调用。帮助
sqlite3 *data;
sqlite3_stmt *res;
char *errMSG;
int sql=0;
const char *tail;
char insert[100];
sql = sqlite3_open("pokemon.db", &data);
if(sql){
puts("Can't open database");
exit(0);
}
sprintf(insert, "Insert into Players values('%s','%s',1, 0,%d,%d,%d,0,0,'%s');", name, species, HP, ATTK, DEF, key);
sql = sqlite3_prepare_v2(data, insert, 1000, &res, &tail);
printf("%d\n",sql);
sqlite3_step(res);
sqlite3_finalize(res);
sqlite3_close(data);
printf("You have successfully captured a new Pokemon!<br>");
printf("%s", sqlite3_errmsg(data));
printf("<form action=start.cgi><input type=submit value='Go back to Home Page!'></form>");
printf("</body></html>");
return 0;
答案 0 :(得分:0)
在致电sqlite3_errmsg(data)
时,数据库连接data
已经关闭。
我怀疑这是无效的 - 并且对sqlite3_errmsg()
的无效调用是错误字符串引用的内容,而不是之前的任何错误。