zoukankan      html  css  js  c++  java
  • VC连接access


    (1)首先拷贝 c:program filescommon filessystemado 目录中的 msado15.dll 文件到项目中。

    (2)在VC中加入DLL,具体方法如下:



    (3)创建连接对象,和打开数据库的具体代码如下:

    void CMyDlg::OnButton1() 
    {
        // TODO: Add your control notification handler code here
        
        if (AfxOleInit())//初始化OLE
        {
            _ConnectionPtr m_pConnection;//声明一个连接对象
            _RecordsetPtr m_pRecordset;
            HRESULT hr;
            try{
    
                hr = m_pConnection.CreateInstance("ADODB.Connection"); //创建连接
                if(SUCCEEDED(hr))//判断是否连接成功
                {
                    MessageBox("指针连接成功!");
                    m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb","","",adModeUnknown);//打开数据库
                    
                    _variant_t RecordsAffected;//声明返回被修改的条目数
                    CString strSQL;//SQL字符串语句
                    strSQL.Format("insert into d1(name) values('%s')","正月龙");
                    m_pRecordset = m_pConnection->Execute((_bstr_t)strSQL,&RecordsAffected,adCmdText);//操作数据库
                    MessageBox("数据加入成功!");
                    //m_pRecordset->Close();
                                    
                    
                    m_pRecordset = m_pConnection->Execute("select count(*) from d1",&RecordsAffected,adCmdText);//返回总条目数
                    _variant_t vIndex = (long)0;  
                    _variant_t vCount = m_pRecordset->GetCollect(vIndex);//取得第一个字段的整数值放入vCount变量
                    CString str;
                    str.Format("总共有%d条数据",vCount.lVal);
                    MessageBox(str);
    
    
                    m_pRecordset = m_pConnection->Execute("select * from d1",&RecordsAffected,adCmdText);
                    //m_pRecordset->MoveNext();
                    //m_pRecordset->MoveNext();
                    _variant_t vIndex1 = (long)0;  
                    _variant_t vCount1 = m_pRecordset->GetCollect(vIndex1);//取得第一个字段的字符串值放入vCount1变量 
                    CString str1;
                    str1 = vCount1.bstrVal;
                    MessageBox("第一个字段内容是:"+str1);
    
                    m_pRecordset->Close();
    
                }
            }catch(_com_error e)
            {
                CString str;
                str.Format("数据库连接失败
    错误信息:%s",e.ErrorMessage());
                MessageBox(str);
    
            }
            
            //MessageBox("初始化 OLE 成功!");
        }else
    
    
        MessageBox("初始化 OLE 失败");
        
    }
    
    
    
     
  • 相关阅读:
    LFYZ-OJ ID: 1008 求A/B高精度值
    高精度运算
    【2018国庆雅礼集训】部分题解
    【模板】倍增求LCA
    Luogu1516 青蛙的约会
    loj #10043. 「一本通 2.2 例 1」剪花布条
    我太菜了
    Luogu1280 尼克的任务
    Luogu1091 合唱队形
    Luogu1006 传纸条
  • 原文地址:https://www.cnblogs.com/webcyz/p/6525169.html
Copyright © 2011-2022 走看看