Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual c++ 如何将多个blob参数传递给SQLite语句?_Visual C++_Sqlite - Fatal编程技术网

Visual c++ 如何将多个blob参数传递给SQLite语句?

Visual c++ 如何将多个blob参数传递给SQLite语句?,visual-c++,sqlite,Visual C++,Sqlite,此代码在第二个sqlite3_bind_blob上引发异常: sqlite3_stmt* _stmt; char *sql = sqlite3_mprintf("update logins set password_value=?, possible_usernames=?, form_data=? " "where origin_url='%q' and username_element='%q' and username_value='%q' and password_element

此代码在第二个sqlite3_bind_blob上引发异常:

sqlite3_stmt* _stmt;
char *sql = sqlite3_mprintf("update logins set password_value=?, possible_usernames=?, form_data=? "
    "where origin_url='%q' and username_element='%q' and username_value='%q' and password_element='%q' and signon_realm='%q'",
    sqlite3_column_text(stmt, 0), sqlite3_column_text(stmt, 1), sqlite3_column_text(stmt, 2), sqlite3_column_text(stmt, 3), sqlite3_column_text(stmt, 4));
sqlite3_prepare(db, sql, -1, &_stmt, 0);
sqlite3_bind_blob(_stmt, 1, DataOut5.pbData, DataOut5.cbData, SQLITE_STATIC);
sqlite3_bind_blob(_stmt, 2, DataOut6.pbData, DataOut6.cbData, SQLITE_STATIC);
sqlite3_bind_blob(_stmt, 3, DataOut7.pbData, DataOut7.cbData, SQLITE_STATIC);
sqlite3_step(_stmt);
sqlite3_finalize(_stmt);
sqlite3_free(sql);
此代码成功完成:

sqlite3_stmt* _stmt;
char *sql = sqlite3_mprintf("update logins set password_value=? "//, possible_usernames=?, form_data=? "
    "where origin_url='%q' and username_element='%q' and username_value='%q' and password_element='%q' and signon_realm='%q'",
    sqlite3_column_text(stmt, 0), sqlite3_column_text(stmt, 1), sqlite3_column_text(stmt, 2), sqlite3_column_text(stmt, 3), sqlite3_column_text(stmt, 4));
sqlite3_prepare(db, sql, -1, &_stmt, 0);
sqlite3_bind_blob(_stmt, 1, DataOut5.pbData, DataOut5.cbData, SQLITE_STATIC);
//sqlite3_bind_blob(_stmt, 2, DataOut6.pbData, DataOut6.cbData, SQLITE_STATIC);
//sqlite3_bind_blob(_stmt, 3, DataOut7.pbData, DataOut7.cbData, SQLITE_STATIC);
sqlite3_step(_stmt);
sqlite3_finalize(_stmt);
sqlite3_free(sql);

为什么?

我想可能是,
DataOut6
DataOut7
有问题。悬空的指针,或者类似的东西。为什么你认为调用
sqlite3\u prepare
sqlite3\u step
成功了?我已经编译并运行了第二个示例,结果如预期的那样成功。我想,
DataOut6
DataOut7
可能有问题。悬空指针,或者类似的东西。为什么你认为对
sqlite3\u prepare
sqlite3\u step
的调用成功了?我已经编译并运行了第二个成功的示例,结果与预期的一样。