SQLLITE UPDATE语句不起作用
sqllite update statement not working
我对sqllite Update语句有问题,它不起作用。我不知道为什么,因为一切似乎还可以。错误代码为0
char *q; // query
char fp[MAX_PATH];
q="UPDATE search SET ustat=1 WHERE fpath=?";
for(int i=0; i<=6; i++){
if(sqlite3_prepare_v2(db, q, strlen(q), &pointer, 0) == SQLITE_OK){
//cout<<"nn inside loop i values is "<<i<<"nn";
snprintf(fp,MAX_PATH,xbx[i].fpaths,0);
sqlite3_bind_text(pointer, 1, fp, strlen(fp), 0); // file name
sqlite3_step(pointer); // prepare statemnt Ready
sqlite3_finalize(pointer);
}
}
我在绑定文本语句中使用了结构,然后我认为问题可能是由于结构引起的,然后我将其更改为本地缓冲区,但没有成功。
更新:我尝试删除循环并手动设置内容,但在更新语句中仍然没有做错问题?错误代码0
if(sqlite3_prepare_v2(db, q, strlen(q), &pointer, 0) == SQLITE_OK){
sqlite3_bind_text(pointer, 1, xbx[0].fpaths, sizeof(xbx[0].fpaths), 0); // file name
sqlite3_bind_text(pointer, 1, xbx[1].fpaths, sizeof(xbx[1].fpaths), 0);
sqlite3_bind_text(pointer, 1, xbx[2].fpaths, sizeof(xbx[2].fpaths), 0);
sqlite3_bind_text(pointer, 1, xbx[3].fpaths, sizeof(xbx[3].fpaths), 0);
sqlite3_bind_text(pointer, 1, xbx[4].fpaths, sizeof(xbx[4].fpaths), 0);
sqlite3_step(pointer); // prepare statemnt Ready
sqlite3_finalize(pointer); // delete prepared statement
}
好吧,我找到了解决方案,是由于sqlite cinallize语句....检查您可能错过的所有程序,且未放置SQLite最终确定语句。.因此,问题解决了:)
if(sqlite3_prepare_v2(db, q, strlen(q), &pointer, 0) == SQLITE_OK){
//cout<<"nn inside loop i values is "<<i<<"nn";
snprintf(fp,MAX_PATH,xbx[i].fpaths,0);
sqlite3_bind_text(pointer, 1, fp, strlen(fp), 0); // file name
sqlite3_step(pointer); // prepare statemnt Ready
sqlite3_reset(pointer);
}
sqlite3_finalize(pointer);
}
相关文章:
- 为什么我的 if else 语句不起作用并从数组中输出正确的索引?
- 默认标签显然在 switch 语句中不起作用
- C++ 中断语句不起作用
- 我的代码应该接受一个数字,并返回字母等级或"Grade is not valid"但 else 语句不起作用
- 使用 cin、if 语句和数组不起作用
- (C++) IF 语句似乎根本不起作用
- 为什么当我输入字符时,这个特定的 cin.get() 语句在C++中不起作用?
- QTranslator 在 if 语句中使用时不起作用
- 我的开关语句在C++中不起作用
- 切换语句不起作用 c++ 和 D:\c++ dev-c\Makefile.win 目标"abc.o"的配方失败
- C++ 默认值在开关语句中不起作用
- C++ SQLite3 准备的删除语句不起作用
- 如果语句在我的代码中不起作用
- 一个'case'在简单的'switch'语句中不起作用
- 我的程序在SCANF语句之后不起作用
- std::cin 语句不起作用 C++
- 为什么我的 if 语句不起作用
- C++ 递增在 If else 语句中不起作用
- if 语句在 for 循环中不起作用
- 我的 for 循环之后的代码不起作用,for 循环后的打印语句不会被打印