标题:[求助]如何在VC里调用ORACLE?
只看楼主
nietao1985
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-8-27
 问题点数:0 回复次数:2 
[求助]如何在VC里调用ORACLE?
刚刚入门ORACLE,想用VC调用一下自己建的数据库,请各位高手帮帮忙,只需要知道具体怎么去实现……谢谢啦
搜索更多相关主题的帖子: ORACLE 
2008-08-27 07:55
he5220
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-9-28
得分:0 
#include<iostream.h>
#include<stdio.h>
#include <afx.h>
#include <comutil.h>
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","rsEOF")
void main()
{
    try
    {
        _CommandPtr cmmd;
        CoInitialize(NULL);
        _ConnectionPtr pConn(__uuidof(Connection));
        _RecordsetPtr pRst(__uuidof(Recordset));
         HRESULT hr = cmmd.CreateInstance(__uuidof(Command));
        _ParameterPtr param;
    // 设置ADO入参    
    param = cmmd->CreateParameter("Pi_Serviceid",adVarChar,adParamInput,4,"2022");    
    param = cmmd->CreateParameter("pi_BranchCode",adVarChar,adParamInput,9,"8884");
    
  。。。。。。。。。。。。。。。。。。。。
    
    // 设置ADO出参

    param = cmmd->CreateParameter("Po_Returncode",adVarChar,adParamOutput,4, _variant_t(_bstr_t(Po_Returncode)));
    cmmd->Parameters->Append(param);
        
    param = cmmd->CreateParameter("po_Debit",adVarChar,adParamOutput,16,_variant_t(_bstr_t(po_Debit)));
    cmmd->Parameters->Append(param);
    
;;;;;;;;;;;;;;;;;;
    
    // 连接数据库
    cmmd->CommandText=_bstr_t("P_TRD_SUBANDBIDS");// 存储过程名称
    pConn->ConnectionString="Provider=MSDAORA;Data Source =ora92"; // 数据库连接串
    pConn->Open(pConn->ConnectionString,"zx_icbc","zxicbc",adConnectUnspecified);
    cmmd->ActiveConnection = pConn;
    // 执行存储过程
    cmmd->CommandType=adCmdStoredProc;        // 定义执行类型  
    cmmd->Execute(NULL, NULL, adCmdStoredProc);    // 执行存储过程
    
    // 获取出参
    _variant_t  Final;
    CString strValue;
    Final = cmmd->Parameters->GetItem("Po_Returncode")->GetValue();
         strValue = (LPCTSTR)(_bstr_t(Final));
    
    // 关闭数据库连接
    pConn->Close();
    pRst.Release();
    pConn.Release();
    CoUninitialize();
    }
    catch (_com_error& e)
    {
        cout<<e.ErrorMessage()<<endl;
        cout<<e.Description()<<endl;
    }
}


使用ADO连接ORA数据库  执行存储过程的例子,刚写的

2008-09-12 10:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-230041-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.387045 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved