问题标签 [soci]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 如何使用 SOCI 从数据库中获取整行?
...并将其保存为自定义对象类型?我正在使用 PostgreSQL。当我将所有内容都放在一个文件中时,它就可以工作。但我想把它分成类文件,就像你在用 cpp 编写时所做的那样。当我将代码分成 *.h 和 *.cpp 文件时,我遇到了错误。
这是我的文件:
测试.h
测试.cpp
主文件
我这样编译它:
g++ main_test.cpp test.h test.cpp -o App -lsoci_core -lsoci_postgresql -ldl -lpq -I /usr/local/include/soci -I /usr/include/postgresql
并得到了这些错误:
上述问题已解决,请查看@JohnBandela ANSWER。
c++ - 如何使用 SOCI 从数据库中获取整行到用户定义的对象类型?
我扩展了我的课程(来自这个问题:How to get a whole row from database using SOCI?)拥有两个私有成员,还添加了 getter 和 setter。但是在编译我的程序时,我又遇到了错误。
我的类.h
我的类.cpp
我的ClassTest.cpp
我这样编译它:
g++ myClassTest.cpp myClass.h myClass.cpp -o App -lsoci_core -lsoci_postgresql -ldl -lpq -I /usr/local/include/soci -I /usr/include/postgresql
我得到的错误是:
visual-c++ - 在 VisualC++ 项目中使用 GCC 编译的库(反之亦然)
是否可以在将 GCC 用作编译器(反之亦然)的项目中使用使用 VisualC++(因此带有 .lib 扩展名)编译的代码(和库)?还是我必须重建它们?
我正在尝试在一个以 GCC 作为编译器的项目中使用我用 VisualC++ 编译的 SOCI 3.1 库,但我遇到了一些错误,我不知道为什么..
c++ - 使用 PostgreSQL 时 SOCI 库中的高精度时间戳
SOCI 库描述了 std::tm 的绑定以使用时间戳。std::tm 结构精度次之,但 PostgreSQL 时间戳提供更好的精度。您能否建议以小于秒的精度访问时间戳的最佳方法?
我尝试了 unsigned long 和 long long 数据类型来访问时间戳,但没有成功。我成功的唯一方法是字符串,但这需要解析它(我希望有一些常规值可以使用 - 比如,以毫秒为单位的长,甚至更好的 c++11 time_point),这远非最佳。
提前致谢。
c++ - 使用 SOCI 和 soci::indicators [C++] 从表中获取行
我想从名为“人”的表中获取行。我想在指标的帮助下做到这一点,以避免当这个人没有名字时出现异常。这个怎么做?
我写了代码:
但它没有显示任何行,只有当我添加一行时:
在我的 if 语句之前,只有这样我才能看到数据库中的名字。
c++ - 如何使用 SOCI 库将变量绑定到准备好的语句?
目前我的应用程序只支持 SQLite 数据库,但我想同时支持 SQLite 和 MySQL 数据库,所以我正在测试SOCI 库,看看它是否能满足我的需要。但是,尽管有示例和文档,但我无法弄清楚 SOCI 如何处理准备好的语句。
使用SQLite C API时,您准备语句:
稍后您将一个值绑定到 :id 占位符,执行语句并逐步检查结果:
我如何使用 SOCI 做到这一点?看起来准备和绑定概念并没有像原生 SQLite API 那样分开。绑定是否必须在使用 soci::use() 进行准备期间发生?
更新 1:如果我没有很好地解释这个问题:这是一个使用 SQLite C API 的小型、有效的 C++ 示例。如果我能看到这个使用 SOCI 重新实现,它会回答这个问题。
使用 SOCI 部分实现的相同程序(注意标记为HELPME的两个存根函数)
更新 2:当我找到cppdb 库时,我最终放弃了 SOCI 。与 SOCI 不同,它只是对原生 C API 的一个非常薄的包装器,适合我目前的需求。
mysql - OS X 上的 SOCI MySQL 问题
我的项目正在尝试合并 SOCI,以便从 C++ 轻松访问 MySQL 数据库。我的一个队友使用 MySQL 后端在 linux 中创建了一个正在运行的 SOCI 测试程序,他的 CMake 文件中只有这个链接:
但是,在 Mac 下,当我尝试运行程序时,它会在会话创建行出错:
出现此错误:
我肯定安装了 MySQL,并且我肯定构建了支持 MySQL 的 SOCI,SOCI 的品牌甚至说它找到了 MySQL 库。
使用 SOCI 和 MySQL 后端的 CMake 项目是否也应该链接到 MySQL 或 SOCI MySQL 插件?我曾尝试沿着这条路线走,但最终会遇到不同的运行时错误,例如:
任何帮助将不胜感激,如果需要,我可以提供我们的测试程序,谢谢!
c++ - 构建时的 Soci C++ sqlite3 后端抽象
我在使用 SOCI C++ 3.2 和 mysql 和 sqlite3 后端构建应用程序时遇到问题。这是我包含的标题:
这是我得到的建筑错误:
我在网上没有找到有关此问题的太多信息,因此不胜感激!
c++ - soci:“插入”后返回主键
我使用带有 C++ 的 soci 来访问我的数据库。是否可以修改以下表达式以获取赋予该表达式添加的行的新主键?
例如
这样我就可以使用 newID 继续我的工作了吗?id 在这种情况下是主键(bigserial)
c++ - C ++ soci将行从一个表插入到另一个具有相同结构的表中
我在不同的数据库中有两个表,但它们的结构是相同的。一列或多列可能包含“空”值。我发现了以下
http://soci.sourceforge.net/doc/3.2/exchange.html(见指标)
如何将此应用于多个列?我还尝试通过使用行集来解决这个问题:
但是我不知道如何将此行集输入到另一个数据库中,而且我不知道当我需要处理很多行时这是否有效。到目前为止,我通过使用语句解决了复制大量数据的问题:
我很感激任何帮助