vc6连接各种数据库

说明:本人测试是在xp下,开始连接sql2005是总是连接不上,网上查了下,有说什么用户设置问题,还有的说同ntwdblib.DLL版本问题,都不行,最后经过很多试验终于搞定

注意的是sql2005及以上的dbms(ZHONGYH01\SQL2005)在中间要加两个斜杠否则报错的

  #import "msado15.dll" no_namespace rename("EOF","adoEOF")//这个放在.\StdAfx.h中就行了

   _ConnectionPtr m_pConnection;

    m_pConnection.CreateInstance("ADODB.Connection");
    HRESULT hr;
    /******************连接数据库********************/
    try
    {
        m_pConnection->ConnectionTimeout = 8;
        //连接SQL SERVER2000
        // m_pConnection->Open("Driver=SQL Server;Database=testzyh;Server=127.0.0.1;UID=sa;PWD=;","","",adModeUnknown);
        //连接SQL SERVER2005
        //m_pConnection->Open("Driver=SQL Server;Database=test;Server=ZHONGYH01\\SQL2005;UID=sa;PWD=zyhzyhzyh;","","",adModeUnknown);
        //连接SQL SERVER2008
        //m_pConnection->Open("Driver=SQL Server;Database=ng0011;Server=ZHONGYH01\\SQL2008;UID=sa;PWD=zyhzyhzyh;","","",adModeUnknown);
        //连接ACCESS2000
        m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=userinfo.mdb","","",adModeUnknown);
        if(SUCCEEDED(hr))
        {   
                AfxMessageBox("errormessage");///显示错误信息
                //prStream->Write(m_pRecordset->Fields->GetItem("b_flow")->GetValue());//取值
        }

        AfxMessageBox("数据库连接成功!");
        //return true;
    }
    catch(_com_error e)///捕捉异常
    {
        AfxMessageBox("数据库连接失败!");
        return  ;
    }
    /**********************************************/
    CString m_UserName;
    //读记录
    m_pRecordset.CreateInstance("ADODB.Recordset");
    hr = m_pRecordset->Open("select * from userphoto where id=1",_variant_t((IDispatch *)m_pConnection,true),adOpenDynamic,adLockPessimistic,adCmdText);
    m_UserName=m_pRecordset->GetCollect("username").bstrVal;//从某一个字段取值

    MessageBox(m_UserName);




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值