zoukankan      html  css  js  c++  java
  • VC++ 用ADO连接数据库的简单方法

    在头文件中要包含
    #import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename ("EOF","serEOF") //serEOF是自己随便起个名字,命名空间

    //插入函数①    与②不同是声明了_variant_t    RecordsAffected;在生成字符串的时候用左右。
    //以SQL语句的方式 插入数据库。
    //strsql.Format("insert into student (id,school,name,birth) values ('%d','%s','%s','%s')",
    //                   stu_id,stu_ch,stu_name,stu_birth)

    void CadoDlg::OnBnClickedButton3()
    {
    // TODO: 在此添加控件通知处理程序代码
    CoInitialize(NULL);
    _variant_t    RecordsAffected;
    _ConnectionPtr pConn(__uuidof(Connection));
    _RecordsetPtr pRst(__uuidof(Recordset));

    pConn->ConnectionString="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=gprs_project";    //gprs_project是自己建的数据库
    pConn->Open("","sa","aic",adConnectUnspecified); //sa用户名 aic密码
    CString strsql;
    strsql="insert into student (id,school,name,birth) values ('1','纳格兰','笑秋水','2008-02-28')";
    try{
            pConn->Execute((_bstr_t)strsql,&RecordsAffected,adCmdText);
    }catch(_com_error e)
    {
           //抛出异常的作用,1:隐藏错误信息,2:避免程序中断,抛出异常可继续运行。
            AfxMessageBox((CString)"增加用户出错=_=~!"+"   "+e.ErrorMessage());
    }
    pRst.Release();
    CoUninitialize();
    }
    //---------------------------------------------------------------//
    //写入函数②,调用PutCollect函数进行修改。感到奇怪的是
    //如果没有pRst->Open("select * from student",_variant_……)这句代码,插入无法完成。
    void CadoDlg::OnBnClickedButton3()
    {
    stu_id=3;
    stu_name="冯会玲";

    // TODO: 在此添加控件通知处理程序代码
    CoInitialize(NULL);
    _ConnectionPtr pConn(__uuidof(Connection));
    _RecordsetPtr pRst(__uuidof(Recordset));

    pConn->ConnectionString="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=gprs_project";
    //pConn->ConnectionString="Provider=SQLOLEDB.1;Password=aic;Persist Security Info=True;User ID=sa;Initial Catalog=pubs";
    pConn->Open("","sa","aic",adConnectUnspecified);
        pRst->Open("select * from student",_variant_t((IDispatch*)pConn),
       adOpenDynamic,adLockOptimistic,adCmdText);
        stu_id=1;
    stu_ch="纳格兰";
    stu_name="秋水无痕";
    stu_birth="2007-01-23";
    try{
       pRst->AddNew();
       pRst->PutCollect("id",(_variant_t)stu_id);
       pRst->PutCollect("school",(_variant_t)stu_ch);
       pRst->PutCollect("name",(_variant_t)stu_name);
       pRst->PutCollect("birth",(_variant_t)stu_birth);
       pRst->Update();
       pRst->Close();

    }catch(_com_error e)
    {
      //抛出异常的作用,1:隐藏错误信息,2:避免程序中断,抛出异常可继续运行。
       AfxMessageBox((CString)"增加用户出错=_=~!"+"   "+e.ErrorMessage());
       //return false;
    }
    pRst.Release();
    CoUninitialize();
    }

  • 相关阅读:
    Oracle 口令文件:即 oracle密码文件
    Oracle_plsql_开发工具搭建最小化客户端
    Oracle 网络监听配置管理
    Oracle12c 从入门到精通(第二版) 闫红岩 金松河 编著
    手工建库
    Oracle管理文件OMF (oracle managed files)
    逻辑存储结构
    Oracle管理文件OMF (oracle managed files)
    PowerDesigner连接Oracle并导出表结构
    win 系统设置weblogic 进行定时自动重启并删除其日志和缓存文件,定时监控cpu是否达到100%并重启weblogic服务
  • 原文地址:https://www.cnblogs.com/yuzhould/p/4455036.html
Copyright © 2011-2022 走看看