sqlite3_get_table的替代方案
Alternative to sqlite3_get_table
我有一个名为isadded()的函数,它是导致我的程序崩溃的原因。我运行调试,发现这个
Function Arg 1 Arg 2 Arg 3 Source
ntdll!RtlpWaitOnCriticalSection+df 00001484 00000002 00000000
ntdll!RtlEnterCriticalSection+a8 09e10c08 006310a5 09e10c08
sqlite3!sqlite3_mutex_leave+17b 09caf370 0c81d9c8 0063d240
sqlite3!sqlite3_get_table+99 09caf370 0c81d9c8 0c81d9bc
OServHandler!COServHandler::isAdded+17f 059a6fd8 0c8272e0 00000006
OServHandler!COServHandler::getHierarchy+ba7 0c940020 00008000 6009fb27
AdminConsoleInterface!CAdminConsoleInterface::handleConnection+178 00001254 00000000 00000000
AdminConsoleInterface!CAdminConsoleInterface::setOServHandler+33 008c5cd0 0250e9c8 00000000
因此,出错的行是sqlite3_get_table()。
sprintf_s(query,1024,"SELECT * FROM OServs WHERE oservname = '%s' ;", cOServID);
cout<<query<<endl;
rc = sqlite3_get_table(db, query, &results, &nrow, &ncol, &zErrMsg);
基本上,我想看看是否已经在数据库中添加了一个特定的变量。由于这个函数似乎崩溃了,是否有其他替代方法?我记得读到过这个函数已经被弃用了,但不知道还有什么替代方法。
您使用少量命令来替换sqlite3_get_table
。下面是基本的c/c++入门教程,它解释了这个过程。你必须做更多的工作,但有更多的控制。
每个函数在sqlite3参考的函数部分都有很好的文档。
更新:作为一种选择,您可以使用sqlite3_exec,它不那么紧张。下面是我找到的一小段代码示例:
http://souptonuts.sourceforge.net/code/simplesqlite3.c.html相关文章:
- 运行同一解决方案的另一个项目的项目
- Project Euler问题4的错误解决方案
- 计算每个节点的树高,帮助我解释这个代码解决方案
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- visual c++,如何获取解决方案目录中的代码
- 有没有办法在远程设备上打开和编辑visual Studio 2017解决方案
- C++Matching Brackets 2解决方案不起作用
- 在 ubuntu3 上C++ goto 定义有什么解决方案吗16.04?
- C++11 中不同类型的对象的 std::array 的替代方案
- 在 leetcode 上提交解决方案时出现堆栈缓冲区溢出错误
- 别名模板的专业化 C++11 中没有开销的最佳替代方案
- 我的固定时间步长与增量时间和插值的解决方案是错误的吗?
- 无法在问题解决方案中执行输出逻辑
- 最大的回文产品 - 程序未运行,编写解决方案但无法理解问题
- 从预序遍历构造 bst 的 c++ 和 python 解决方案之间的区别
- 在一个解决方案中针对第三方静态库 (Creo) 的不同版本(版本)进行构建
- 如何巧妙地编写两个函数——一个用于检查是否存在解决方案,另一个用于获取所有解决方案
- 使用 Git 处理 C++ Visual Studio 2019 解决方案的外部依赖项源代码管理的最佳方法是什么?
- N-queen问题:无法弄清楚为什么我的解决方案不起作用
- 从排序数组中删除重复项,具有不同代码方式的相同解决方案具有不同的输出