用CDatabase中OpenEx直接连接Oracle数据库,连接字符串该怎么写

用CDatabase中OpenEx直接连接Oracle数据库,连接字符串该怎么写,第1张

数据库编程的思路都是一致的:打开数据库连接-》执行SQL语句-》获得查询结果-》关闭数据库连接,不同的数据库访问技术有不同的要求,比如用C API诘问MySql数据库的时候还得释放查询结果集。

ODBC访问数据库得配置数据源

配置ODBC数据源:打开控制面板下的“数据源”,d出“ODBC数据源管理器”,选择DSN选项卡-》添加->你选择你的SQL Server选项,单击完成。如图然后你再按照向导提示添加。

代码中用ODBC访问数据库你得加上afxdb.h头文件,

用CDataBase 类连接数据库、CRecordSet类查询记录。

现在在VC访问数据库常用的是ADO访问,你可以找一下我前面的回答有ADO访问数据库的步骤。

CDataBase m_cODBCDb

用CDataBase类的OpenEx()函数打开数据库连接。连接字符串你自己构造一下。

定义一个与上面数据库相关的查询对象

CRecordSet m_cODBCRec(&m_cODBCDb)

用这个查询对象的open方法就可以执行SQL语句与数据库交互了

现在用VC、MFC访问数据库常用的技术是ADO,学学这个吧。难点、但很实用!

导入ADO库

#import "c:\Program Files\Common Files\System\ADO\msado15.dll" no_namespace rename("EOF", "adoEOF")

2、用导入的动态库的指针 *** 作数据库.

打开数据库连接

_ConnectionPtr m_pConn// 数据库连接指针

// 创建Conneciton对象

m_pConn.CreateInstance(_T("ADODB.Connection"))

用ConnectionPtr 的open方法m_pConn->Open(_bstr_t(m_sConn),

_T(""), _T(""), lOptions))

m_sConn为你连接数据库的信息,你应该按照你的要求打开数据库

然后你用打开的那个连接进行 *** 作数据库。比如

_RecordsetPtr pRec = m_pConn->Execute(_bstr_t(pszSql), NULL, CmdText)

pszSql 就你要 *** 作数据库的SQL语句。在这个SQL语句里你可以创建表、更新表等。

用ADO访问的时候要求初始他COM库和释放COM对象

// 初始化COM环境(库)

::CoInitialize(NULL)

//释放COM对象

::CoUninitialize()

1、创建新的测试数据表,或者可以选择要测试的现有表数据。这只是测试字符串连接,不会影响数据内容。从T_BASE_PROVINCE t中选择*,其中t.id = 1。

2、首先介绍下一个||满足连接,||可以一次连接多个字符串,选择t.PROVINCEID ||来自T_BASE_PROVINCE的t.PROVINCE t其中t.id = 1。

3、由||连接除了字段和字段之间的字符串连接之外,还可以将方法连接到常量字符串选择'省:'||来自T_BASE_PROVINCE的t.PROVINCE t其中t.id = 1。

4、您还可以使用CONCAT函数连接到字符串,传入函数字符串1和字符串2,两个参数。参数的方式也支持常量字符串从T_BASE_PROVINCE t中选择CONCAT(t.PROVINCEID,t.PROVINCE),其中t.id = 1。

5、如果要连接的字符串有两个以上的参数,如下例所示,则有4个字符串连接。运行后,测试发现异常,参数无效。从T_BASE_PROVINCE t中选择CONCAT('省ID:',t.PROVINCEID,'省:',t.PROVINCE),其中t.id = 1-  ERROR ORA-00909:参数数量无效。

6、对于上述问题,如果连接参数大于2,则可以选择CONCAT嵌套方法。从T_BASE_PROVINCE t中选择CONCAT(CONCAT('省ID:',t.PROVINCEID),'省:'),t.PROVINCE),其中t.id = 1。

一般C语言连接oracle数据库通过使用oracle提供的OCI接口和PROC编程接口两种方式。

OCI方式纯粹是一些函数接口。

PROC是oracle提供的一种C与ORACLE

SQL的混合编程。程序(以.pc为后缀)编好之后,使用oracle提供的proc预编译程序,将pc文件编译成c文件(这一过程,相当于将SQL转换为OCI的接口),然后再使用c语言编译器生成可以执行文件。

OCI方式不容易入门,它拥有大量的接口函数,要很快熟悉它,非常难。但OCI方式的编程效率很高。

porc方式简单易用。可用于对性能要求不太高的项目。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9375925.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存