我有一个使用 SQLite 访问数据库的程序。当我在执行 SQLite 调用之前打开 OpenFileDialog 或 SaveFileDialog 时:
result = sqlite3_prepare_v2(databaseConnection,converted,10000,&stmt,&strptr);
并选择“取消”,一切正常(result == SQLITE_OK
),但是当我选择“打开”时,即使我不对对话框的返回文件做任何事情,它也会中断(result == SQLITE_ERROR
)。您知道为什么会发生这种情况吗?
非常感谢您的宝贵时间!
编辑:这是我正在使用的代码:
OpenFileDialog^ openFileDialog1 = gcnew OpenFileDialog;
openFileDialog1->ShowDialog();
sqlite3_stmt * stmt;
const char * strptr;
sqlite3 * databaseConnection;
int result = sqlite3_open("virtualpatient_chat.db", &databaseConnection);
if (result != SQLITE_OK) return;
result = sqlite3_prepare_v2(databaseConnection,"SELECT * from mappings;",10000,&stmt,&strptr);
if (result != SQLITE_OK) return;
奇怪的是,它在我当前的项目中不起作用,但我将它复制并粘贴到一个全新的项目中,并且错误不会重复。现在我只是想弄清楚我周围代码中的问题可能是什么......