zoukankan      html  css  js  c++  java
  • vc6.0 通过ADO(udl)连接sql 2008

    转载声明:本文转自http://blog.sina.com.cn/s/blog_7328b9dd0100pkbw.html茗之的博客

     

    首先声明:本文是针对vc与sql菜鸟的,高人请让路。

    本文讲解了用ADO技术连接VC6.0与sql2008(sql2000也一样)。

    1.首先在vc6.0中新建一个基于对话框的应用程序,其他选项均为默认。本例中名称为Rent。(如果有问题请看vc教程)

    2.在Rent项目的文件夹里建立一个udl文件。

    步骤:(1)新建一个txt文件。

          (2)把后缀名改为udl,并重命名。本例中用my_data1.udl

          (3)双击m_data1.udl设置连接属性,如下图。

    vc6.0 <wbr>通过ADO(udl)连接sql <wbr>2008

    vc6.0 <wbr>通过ADO(udl)连接sql <wbr>2008

    其中服务器输入本地的sql服务器即可。数据库选择要连接的数据库。

    配置好后可以点“测试连接”按钮来测试是否连接成功。

    3.配置好了udl文件后就可以在vc中来连接数据库了。

    具体步骤:(1)引入ADO动态链接库。方法如下:在Rent工程的StdAfx.h头文件中添加如下代码:

    #import"c:program filescommon filessystemadomsado15.dll" no_namespace rename ("EOF","adoEOF")

    此处有2点要注意:1):此代码必须在一行里面。

                     2):不能添加到头文件的第一行,不然会报错。(笔者添加到了最后一行)

              (2)初始化COM库环境。(因为ADO是基于COM库的,所以要初始化COM库环境)

                     1):在CRentapp的成员函数InitInstance()中添加如下代码:

                          ::CoInitialize(NULL);//初始化COM库

                     2):在CRentapp中添加虚函数ExitInstance(),在其中添加如下代码:

                          ::CoUninitialize();//清除COM库

              (3)建立连接:

                     1):在CRentDlg类中添加一个_ConnectionPtr接口类型的成员变量

                          protected:

                          _ConnectionPtr m_pConnection;

                     2):在CRentDlg类的OnInitDialog()函数中添加如下代码:

     HRESULT hr;
     try
     {
      hr=m_pConnection.CreateInstance(__uuidof(Connection));
      if(SUCCEEDED(hr))
      {
       m_pConnection->ConnectionString="File Name=my_data1.udl";
       m_pConnection->ConnectionTimeout=10;
       hr = m_pConnection->Open("","","",adConnectUnspecified);
       AfxMessageBox("open succceeded!");
       if(FAILED(hr))
       {
        AfxMessageBox("open fail!");
        return true;
       }
      }
      else
      {
       AfxMessageBox("createinstance of Connection fail!");
       return true;
      }
     }
     catch(_com_error e)
     {
      _bstr_t bstrSource (e.Source());
      _bstr_t bstrDescription(e.Description());
      AfxMessageBox(bstrSource + bstrDescription);
      return true;
     }

    此处有1点需注意:"File Name=my_data1.udl";此句my_data1.udl前面不能有空格,因为书写习惯,有的人会在其前面加上空格,这样会报错。

    4.做完了这些,然后编译,执行,就可以连接上数据库了。

    个人认为连接数据库比较重要,因为连都连不上还谈何操作,至于后面的对数据库的操作即是添加相应的消息处理代码而已。连接步骤虽然简单,但对于初学者来说还是容易出问题,在此写个个人的连接心得,也算帮助初学者吧。

  • 相关阅读:
    201871010104-陈园园《面向对象程序设计(java)》课程学习总结
    201871010104-陈园园《面向对象程序设计(java)》第十七周学习总结
    201871010104-陈园园《面向对象程序设计(java)》第十六周学习总结
    201871010104-陈园园 《面向对象程序设计(java)》第十五周学习总结
    201871010104-陈园园 《面向对象程序设计(java)》第十四周学习总结
    201871010104-陈园园 《面向对象程序设计(java)》第十三周学习总结
    201871010105-曹玉中 实验四 团队作业1:软件研发团队组建
    201871010105-曹玉中 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
    201871010105-曹玉中 实验二 个人项目—《背包问题》项目报告
    201871010105-曹玉中 实验一 软件工程准备——初识软件工程
  • 原文地址:https://www.cnblogs.com/qingergege/p/5103807.html
Copyright © 2011-2022 走看看