sqlapi 使用心得(一)

 
在做一个项目中,由于对ODBC不熟悉,再者使用的是C语言没有界面,因此不得不借用外部库来链接到Oracle中。在网上搜索到有SQLAPI++这个 软件,并且注意到有破解版,这下就明白了,这个库还是要收费的(鄙视一下自己使用破解版的行为)。好了不说这些无聊的东西了。

(注意:sqlapi是英文网站,这个库使用c++开发的 因此如果想对它有深入了解 英语 C++功底要有点!)

首先下载这个库要么去sqlapi官方网站下载www.sqlapi.com要 么就和我一样去找破解版。

下载之后windows和Linux版本都需要安装 这一步没什么要注意的 就是直接安装,安装好以后就可以使用了。在安装好之后它会给出一个例子,这个例子中会用到一些文件,这些文件时必须要有的。

上面这个图片上显示的dll、lib、h文件都是我们必须有的,其中cpp文件就是我们自己的文件,也可以是.C文件。看一个简单的例子(我使用C 语言,用VC6.0开发环境)源代码如下:

#include <windows.h> // for system command
#include <stdio.h> // for printf

#include "SQLAPI.h" // main SQLAPI++ header
#ifdef UNICODE
#pragma comment(lib,"sqlapiu.lib") //添加lib
#else
#pragma comment(lib,"sqlapi.lib") //添加lib
#endif

int main(int argc, char* argv[])
{

SAConnection con;                                                // 连接数据对象
SACommand cmd(&con,"Select * from a");            // 命令对象,其中包含了一个查询语句,
try
{        
// orcl是数据库库名 hr是用户名 第二个hr为密码    后面的SA_Oracle_Client是链接Oracle的关键字

         //不同的数据库关键字不一样 参考:http://www.sqlapi.com/OnLineDoc/Connection_Connect.html
con.Connect("orcl", "hr", "hr", SA_Oracle_Client);

        // 执行查询语句
cmd.Execute();
// 显示查询后的结果

printf("[A] \n");
while(cmd.FetchNext())
{
//这里的Field("A").asString() 其中A是表中的字段名asString()是A字段存放的数据类型为varchar

        //字段类型不同使用的方法不同详见:http://www.sqlapi.com/OnLineDoc/Param.html
#ifdef UNICODE
wprintf(L"\t%7s \n",
cmd.Field("A").asString());
#else
printf("%7s \n",
cmd.Field("A").asString());
#endif

}
// 提交当前事务
con.Commit();
}
catch(SAException &x)
{
// 异常处理
try
{
// 退出当前事务
con.Rollback();
}
catch(SAException &)
{
}
// 显示错误信息
#ifdef UNICODE
printf("%s\n", x.ErrText());
#else
wprintf(L"%s\n", x.ErrText());
#endif
}
system("pause");
return 0;
}

很简单吧 使用到API库的东西不到几行,这个是简单的检索例子 当我们使用其它SQL语句是有可能会用到动态传递参数值的方法,这样我们就要继续在官网上找了,由于博客篇幅关系我在下一篇中讲解。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值