c++ - 如何使用OTL SELECT 整个表,并将其保存到文件?

标签 c++ database oracle wrapper otl

这就是问题所在,我不知道表中有多少属性或哪些类型的属性,我需要简单的选择语句,如:SELECT * FROM TABLE1;写入文件。

这需要使用 otlv4 包装器来完成。

请帮忙。

otl_stream i(50, // buffer size             
     "select * from test_tab where f1>=:f<int> and f1<=:f*2",                 // SELECT statement           
     db // connect object      
     );     
int ac=0;
     char bc[64];
     memset(bc, 0, 64);

     while(!i.eof())
     {

        i >> ac >> bc;
        cout << "Boooo " << ac << "  " << bc << endl;
     }

这是我知道有多少属性以及有哪些类型的示例。但如果我不知道呢??

最佳答案

一个文件流和 OTL 的 check_end_of_row()set_all_column_types()功能应该做你所要求的。在 OTL 流的 eof 检查上循环时,对于每一行,您可以在行尾检查上循环,并将每个属性的值从 OTL 流发送到文件流。每次行结束检查后,将换行符代码发送到文件流。将所有列类型设置为 str 应该允许您仅使用一个变量来处理一行中的所有属性值。

This OTL 文档中的示例演示了如何使用 set_all_column_types 函数。您必须先创建流,设置选项,然后打开流。如果您同时创建和打开流,它将不起作用。

关于c++ - 如何使用OTL SELECT 整个表,并将其保存到文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3802278/

相关文章:

C++ Boost 侵入列表 - 示例

sql - ORDER BY 函数在 Oracle 中不起作用

python - Qt:尝试在 qt 中使用 python.h 时 undefined symbol

android 同步 sqlite 与 Parse.com

mysql - GROUP BY 子句必须与聚合函数一起使用?

SQL ROW_NUMBER() 分页问题

oracle - 如何使用 nagios 从远程服务器中提取 Infomix 数据库信息?

sql - SQL选择语句中的模糊计数

c++ - boost 类的 Python 绑定(bind) vector

c++ - wchar_t 只是 unsigned short 的 typedef 吗?