rar内附有详细的步骤说明
源代码在线查看: vc访问oracle数据库步骤与说明 .txt
软件大小: |
271 K |
上传用户: |
zergwyk |
|
|
关键词: |
|
下载地址: |
免注册下载 普通下载
|
|
1、VC访问Oracle 数据库需要以下的环境支持
VC6.0 Oracle客户端 ODBC(可选)
OBOUND.H
ORACL.H
ORACLM32.LIB
oraclm32.dll
在项目设置Link页面中加入静态库"ORACLM32.LIB"
2、调用步骤
(1)、新建项目
(2)、包含头文件: "OBOUND.H", "ORACL.H"
(3)、在调用Oracle数据库连接之前调用Oracle数据库驱动程序初始化函数 OStartup();
使用完成后 调用OShutdown();
例子:
BOOL COracleTestApp::InitInstance()
{
AfxEnableControlContainer();
OStartup();
}
int COracleTestApp::ExitInstance()
{
OShutdown();
return CWinApp::ExitInstance();
}
(4)连接数据库使用ODatabase 的 Open函数
参数介绍如下: ODatabase::Open(sid,//Oracle数据库的SID 通常是:全局数据库名_IP地址 ,如:ciwei_192.168.0.12
username,//用户名:system
manager);//登录密码:manager
orocldb.Open(m_DatabaseName, m_LogonName,m_LogonPassWord);
if(!orocldb.IsOpen())
{
const char *m_errortext=orocldb.GetErrorText();
MessageBox(m_errortext,"错误",MB_OK|MB_ICONERROR);
return ;
}else
MessageBox("连接oracle成功!");
(5)、执行SQL语句
orocldb.SetAutoCommit(true); //设置为自动更新
orocldb.ExecuteSQL("insert into sly.testoracle values('4455','343434')");
(6)、打开记录集
ODynDataSet dyn;
dyn.Open(orocldb, "select * from sly.testoracle");
if (!dyn.IsOpen())
return; // can’t open dynaset
CString salary, raise;
while (!dyn.IsEOF())
{
const char* ov;
OValue re;
const char*en="id";
dyn.GetFieldValue(en, &re); // 得到字段值
ov = (const char*)re ;
CString str=ov;
AfxMessageBox(str+"Before Update\r\n");
if (dyn.AddNewRecord() != OSUCCESS) //添加新记录
{
AfxMessageBox(str+"Before Update\r\n");
return ;
}
dyn.MoveNext(); //移到下一条记录
en="23";
dyn.SetFieldValue("id", en);
dyn.SetFieldValue("Name",en);
dyn.Update();
dyn.MoveNext(); // go to the next record
}
}catch(OException *e)
{