欢迎来到天天文库
浏览记录
ID:40546369
大小:270.18 KB
页数:10页
时间:2019-08-04
《C++ 操作oracle 数据库》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据库操作方式:可以采用ADO方式,也可以采用oracle本身提供的Proc*C/C++或者是OCCI方式操作数据库。 连接方式:可以是客户端连接、也可以是服务器端连接。 数据库配置:无论是何种连接都需要进行数据库连接的配置,一般在ORACLE_HOME下面的network/admin/tnsnames.ora文件中进行配置,如果没有此目录或者是此文件,需要自己手工添加。内容格式大致如下:点击(此处)折叠或打开1.BM2D0 =2. (DESCRIPTION=3. (ADDRESS_LIST=4. (ADDRESS=(PROTOCOL=TCP)(
2、HOST= XXX.XXX.XXX.XXX)(PORT =1521))5. )6. (CONNECT_DATA=7. (SERVICE_NAME= BM2D0)8. )9. )其中橄榄色可任意起名,一般在数据库连接是作为服务和用户名、密码一起确定数据库连接的参数。 第一个鲜粉色是远程oracle数据库所在服务器的IP地址,端口号一般为1521。 第二个鲜粉色是远程oracle所在主机的全局数据库名字,不能随意更改。 后两个搭配起来能够确定唯一连接对象。客户端连接:方式一:ADOmain.cpp点击(此处)折叠或打开1.#inc
3、lude "DBOperation.h"2.#include 3.usingnamespacestd;4.5.voidmain()6.{7. CDBOperationdbOper;8. boolbConn = dbOper.ConnToDB("Provider=OraOLEDB.Oracle.1;PersistSecurityInfo=True;DataSource=xxx1", "xxx2", "xxx3");9. if (false == bConn)10. {11. printf("连接数据库出现错误
4、");12. system("PAUSE");13. return;14. }15.16. _RecordsetPtrpRst;17.18. //执行查询语句19. //char *sql = "select*fromTSTUDENT";20. charsql[255] = {0};21. strcpy(sql, "select*fromTSTUDENT");22. pRst = dbOper.ExecuteWithResSQL(sql);23. if (NULL == pRst)24.
5、 {25. printf("查询数据出现错误!");26. system("PAUSE");27. return;28. }29. if (pRst->adoEOF)30. {31. pRst->Close();32. printf("Thereisnorecordsinthistable");33. return;34. }35. _variant_tvSno, vName, v***, vAge, vDno, vDname, vCname;36
6、. while (!pRst->adoEOF)37. {38. //pRst->MoveFirst(); //记录集指针移动到查询结果集的前面39. vSno = pRst->GetCollect(_variant_t((long)0));40. vName = pRst->GetCollect(_variant_t("name"));41. v*** = pRst->GetCollect(_variant_t("***"));42. vAge = pRst->GetCollect(_v
7、ariant_t("age"));1. //vDno = pRst->GetCollect("dno");2. //vDname = pRst->GetCollect("dname");3. //vCname = pRst->GetCollect("cname");4.5. printf("%st%st%st%d", (LPSTR)(LPCSTR)(_bstr_t)vSno, (LPSTR)(LPCSTR)_bstr_t(vName), (LPSTR)(LPCSTR)_bstr_t(v
此文档下载收益归作者所有