问题标签 [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 作为 linux/ubuntu 上的静态库?
出于安全原因,我需要将程序与 soci 静态链接。
我构建了静态库 libsoci_core.a 和 libsoci_postgresql.a,因为我的后端是 postgresql。
我的问题是,当我使用这些库构建程序时,会出现链接错误。
[...]/lib/libsoci_core.a(backend-loader.cpp.o):在函数`(匿名命名空间)::do_unload(std::basic_string, std::allocator > const&)'中:
backend-loader.cpp:(.text+0x623): undefined reference to `dlclose'
查看 backend-loader.cpp 中的代码,它调用了 dlclose 和其他动态库加载函数。
所以我想知道是否有可能避免这些错误并拥有一个“真正的”静态构建。
或者我应该使用什么选项来避免这个错误并且代码会调用静态 posgresql 库?
谢谢你!
c++ - 在 Xubuntu 上使用 SOCI(sql 包装器),简单程序在编译时失败
我想最终了解如何编写使用数据库的应用程序。我选择了 C++、PostgreSQL 和 SOCI(C++ 的 SQL 包装器)。我使用 Xubuntu 11.4 并安装了运行简单程序所需的一切。
要使用我安装的 SOCI:
1)libboost-dev 2)libpq-dev 3)libtool 4)SOCI,使用这个:http : //soci.sourceforge.net/doc/backends/postgresql.html#required 我用这个命令编译了SOCI:cmake cmake - G "Unix Makefiles" -DWITH_BOOST=ON -DWITH_POSTGRESQL=ON ../
我的简单程序非常简单:
我这样编译它:
但它给了我错误:
test.cpp:1:29:致命错误:soci-postgresql.h:没有此类文件或目录编译终止。
如何解决这个问题,怎么了?我错过了安装的东西吗?
更多信息:
我也试过这个:g++ test.cpp -lsoci_core -lsoci_postgresql -ldl -lpq -I /usr/local/include/soci/postgresql
并得到了错误:
g++ test.cpp -lsoci_core -lsoci_postgresql -ldl -lpq -I /usr/local/include/soci/postgresql 在 test.cpp:1:0 包含的文件中:/usr/local/include/soci/postgresql/soci-postgresql .h:27:26:致命错误:soci-backend.h:没有此类文件或目录编译终止。
c++ - SOCI(SQL C++ 包装器)- PostgreSQL 不执行命令(?)
当我弄清楚如何编译一个简单的程序时,现在我遇到了其他问题......我安装了 PostgreSQL 并创建了数据库和表:
1) createdb testDB 2) 创建表ities (city varchar(80), location varchar(80));
我仍然非常简单的程序:
这段代码只显示了我在 testDB 中已有的行,没有显示我刚刚插入的行。例如:在我的 testDB 表中,我有:
华沙 波兰 柏林 德国 巴黎 法国
上面的代码向我展示了:
波兰华沙
但不显示:
柏林 德国 巴黎 法国 伦敦 英国
请帮忙:(
c++ - SOCI C++(SQL 包装器)致命:数据库“testDB”不存在
Soci 的另一个问题......我想连接我刚刚创建的 testDB,但下面的代码显示了致命错误。
我这样做了:
在 PostgreSQL 上:
我的 C++ 代码:
编译后我得到了这个:
怎么了?
c++ - 使用 SOCI 从 PostgreSQL 数据库获取数据时出现错误转换
我在 PostgreSQL 中有一个数据库。而且我有 sql 查询(顺便说一句,它在 PostgreSQL 中工作得很好,所以 sql 代码没有错):
其中创建日期在 PostgreSQL 中定义creation_date Date;
。查询返回,例如(取决于我的数据库中的内容):
我正在使用 SOCI + C++ 从这个查询中获取数据。我的整个 C++ 代码:
但是当我尝试运行应用程序时出现此错误(编译很好):
在抛出 'std::bad_cast'
what() 的实例后调用终止:std::bad_cast 中断(核心转储)
请帮忙,当编译很好时,我真的不知道如何解决这个问题。
也许问题是 creation_date 是 DATE 并且 tm 也保持时间......?如果是这样,如何解决这个问题?
c++ - 如何将 wchar_t(或 wchar_t* 或 CORBA::WChar*)转换为字符串?
在我的应用程序中,我必须使用 CORBA::WChar*(或等效的 wchar_t*),但我的程序还需要将一些信息保存到 PostgreSQL 数据库中。为了在 C++ 中将数据插入 PostgreSQL,我使用 SOCI。问题在于:
所以不支持 wchar_t* 或 wstring ...我需要将 CORBA::WChar (或 wchar_t 或 wchar_t*)转换为字符串。这该怎么做?
我也有宽字符(和字符串)的问题,使用 CodeBlocks 10.5 :
显示:
如何解决?
我还需要代码是可移植的,我可以在 unix/linux 和 windows 上运行它。
c++ - Soci:创建自定义类来存储结果
我使用Soci进行数据库查询。现在我需要一个自定义的结果集类,它将环绕 soci::rowset。我无法让它以我的代码在下面的方式工作,因为复制构造函数在 soci 中是私有的(根据源文件不支持)。如何在没有复杂代码的情况下完成包含 soci::rows 列表的包装器(在此为 Row 类型定义)?任何关于如何进行的设计或方向都值得赞赏
我的头文件
源文件
这是我在连接的 ExecuteQuery 函数中使用的方法。m_session 是 soci::session
稍后我想如何使用该类的示例
c++ - 如何使用 SOCI 为 SELECT * 编码?
在SOCI的大多数示例中,调用者必须知道查询中的字段和类型,并通过 a soci::rowset<>
ofboost::tuple<>
或其他方式指定它们。
有没有办法在事先不知道列的类型和数量的情况下进行编码,就像在SELECT * FROM ...
查询中一样?
如果是这样,你能发布一个简短的例子吗?
c++ - 使用 SOCI 和 Qt = 如何编写一个好的 *.pro 文件?
我想使用 Qt 和 SOCI 编写一个 GUI 应用程序。如何编写一个好的 *.pro 文件来编译一个没有错误的项目?我写了这个:
它有效,但我不知道它是否正确。
c++ - 如何使用 SOCI 和 C++ 检查表中有多少行?
简单的问题。我有一个表人。我有两行:
如何编写 SOCI 语句,它将告诉我(返回)我的表中有多少行?(在这里,在我的示例中,我有 2 行)。