(2)在上面说到的“Show directories for:”下拉列表中选中“Library files”,然后添加你本地安装MySQL的Lib目录路径。
Lib目录下还有debug和opt两个目录,建议选debug。
(3)在“Project settings->Link:Object/library modules”里面添加“libmysql.lib”。
(4)在stdafx.h里面添加如下的内容:
#include "mysql.h"
#include "winsock.h"
#pragma comment(lib,"libmySQL.lib"
这个例子里用户名和密码都是pzone 数据库名是zp改成你想要的就行了
import "c:\program files\common files\system\ado\msado15.dll" \
no_namespace \
rename ("EOF", "adoEOF")
_ConnectionPtr m_pConnection
_RecordsetPtr m_pRecordset
// 初始化COM,创建ADO连接等 *** 作
AfxOleInit()
连接:
m_pConnection.CreateInstance(__uuidof(Connection))
try //建立数据库连接
{
m_pConnection.CreateInstance(__uuidof(Connection))
m_pConnection->Open("Provider=OraOLEDB.Oracle.1Password=pzoneUser ID=pzoneData Source=zpPersist Security Info=True","","",adModeUnknown)
}
catch(_com_error e)
{
CString errormessage
errormessage.Format("数据库连接失败!\r\n错误信息:%s", e.ErrorMessage())
AfxMessageBox(errormessage)
//return FALSE
}
查
_bstr_t sql="select name from booktype"
m_pRecordset.CreateInstance(__uuidof(Recordset))
m_pRecordset->Open(sql, m_pConnection->GetConnectionString(),adOpenStatic,adLockOptimistic,adCmdText)
if(!m_pRecordset->BOF)//判断表内数据是否为空
m_pRecordset->MoveFirst()
else{
AfxMessageBox("BookType表内数据为空")
return
}
while(!m_pRecordset->adoEOF){
CString item=m_pRecordset->GetCollect("name")
m_pRecordset->MoveNext()
}
m_pRecordset->Close()
增加:
_bstr_t sql="insert into tablename values (".....
m_pConnection->Execute(sql,NULL,adCmdText)
删除
_bstr_t sql="delete from tablename where ..."
m_pConnection->Execute(sql,NULL,adCmdText)
改
_bstr_t sql="update tablename set xx=..."
m_pConnection->Execute(sql,NULL,adCmdText)
通过ADO方式用C++连接Oracle数据库的相关问题ADO (ActiveX Data Objects,ActiveX数据对象)是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)