【问题标题】:sqlite3_prepare_v2 returns null for statementsqlite3_prepare_v2 为语句返回 null
【发布时间】:2016-05-25 02:38:42
【问题描述】:

通过 Visual Studio Launcher 运行我的代码,prepare_v2 函数为语句返回 null(但错误代码为 SQLITE_OK)。但是,通过 Windows 资源管理器从 exe 启动可以正常工作。

由于它适用于可执行文件,我假设 db-、table- 和列名是正确的。因此,它 (imo) 不是虚拟创建的数据库(如果 db-name 为空(或错误?),可能会发生这种情况)。

将数据库和 sqlite-dll 复制到输出目录(预构建事件)。

所以我假设它是 VS2013 实习生?

【问题讨论】:

  • 停止使用相对路径,问题就会消失。
  • 天啊,显然凌晨 4 点不是正确的时间。完全忘记了通过visual studio启动时lauch路径绑定到项目目录。
  • @IInspectable 想详细说明作为答案,所以我可以接受吗?
  • 如果数据库是空的,你不会得到 SQLITE_OK。

标签: c++ visual-studio sqlite


【解决方案1】:

sqlite3_prepare_v2() 不返回语句但SQLITE_OK 的唯一情况是语句文本为空。

显然,当当前目录不是项目目录时,你的代码根本没有构造任何SQL语句。

【讨论】:

    猜你喜欢
    • 2022-10-13
    • 2014-04-15
    • 1970-01-01
    • 1970-01-01
    • 2019-03-12
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    相关资源
    最近更新 更多