转载声明:本文转自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设置连接属性,如下图。

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

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

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

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

#import"c:\program files\common files\system\ado\msado15.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.做完了这些,然后编译,执行,就可以连接上数据库了。

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

vc6.0 通过ADO(udl)连接sql 2008的更多相关文章

  1. vc6.0 使用Ado 连接MS-SqlServer2000 连接字符串

    vc6.0 使用Ado 连接MS-SqlServer2000 连接字符串 分类: C/C++ VC 2012-04-12 20:23 836人阅读 评论(0) 收藏 举报 sql server数据库服 ...

  2. JDBC连接SQL server与ADO.NET连接Sql Server对比

    JDBC连接SQL server与ADO.NET连接Sql Server对比 1.JDBC连接SQL server 1)java方面目前有很多驱动能够驱动连接SQL servernet.   主流的有 ...

  3. [转载]C#中使用ADO.NET连接SQL Server数据库,自动增长字段用作主键,处理事务时的基本方法

    问题描述: 假设在数据库中存在以下两张数据表: User表,存放用户的基本信息,基本结构如下所示:   类型 说明 ID_User int 自动增长字段,用作该表的主键 UserName varcha ...

  4. Java 如何连接 SQL 2008 R2

    前提: 1. 复制sqljdbc_auth.dll到C:\Windows\System32这个路径下. 2. 添加sqljdbc4.jar到Libraries里面. 代码示例: import java ...

  5. C++中用ODBC和ADO方式连接SQL数据库

    https://wenku.baidu.com/view/f01e4e762f3f5727a5e9856a561252d380eb2033.html

  6. 【转】PowerShell 连接SQL Server 数据库 - ADO.NET

    转至:http://www.pstips.net/connect-sql-database.html PowerShell 通过ADO.NET连接SQL Server数据库,并执行SQL脚本.工作中整 ...

  7. SQL 2008无法连接的解决办法

    问题: 在从本地客户端连接到SQL 2008的时候出现无法连接的错误.错误信息如下所示:

  8. SSMS 2005 连接 SQL SERVER 2008问题

    用本机的 Microsoft SQL Server Management Studio 2005 客户端连接数据库服务器时报错:"This version of Microsoft SQL ...

  9. 连接SQL SERVER 2008需要加端口号

    VC2010 ADO 连接SQL SERVER 2008,127.0.0.1,1433,要加上端口,否则连不上.注意:地址和端口之间使用逗号隔开. 连接SQL SERVER 2000可以不加端口号,使 ...

随机推荐

  1. android webview 遇到的问题:external/chromium/net/disk_cache/stat_hub.cc:216:

    今天也遇到这个问题,界面显示无法访问,Baidu吧,结果有些含糊其词,有的说加网络权限,我看了下我的, 有个 <uses-permission android:name="androi ...

  2. Bootstrap学习笔记上(带源码)

    阅读目录 排版 表单 网格系统 菜单.按钮 做好笔记方便日后查阅o(╯□╰)o bootstrap简介: ☑  简单灵活可用于架构流行的用户界面和交互接口的html.css.javascript工具集 ...

  3. 解决 winform 界面对不齐 z

    一个winform的程序,本机上界面对得很齐,到一到客户的机器上就惨不忍睹,一番研究后搞定: 1. AutoScaleMode = None 2. BackgroundImageLayout = No ...

  4. 选择下拉列表最大索引值 Select From List By Max Index

    Select是网页表单中较为常见的元素,在Selenium2Library 中也有相应关键字可以操作,比如: (1)通过指定索引选择 Name: Select From List By Index   ...

  5. 单机版搭建Hadoop环境图文教程详解

    安装过程: 一.安装Linux操作系统二.在Ubuntu下创建hadoop用户组和用户三.在Ubuntu下安装JDK四.修改机器名五.安装ssh服务六.建立ssh无密码登录本机七.安装hadoop八. ...

  6. (转载)OC学习篇之---Foundation框架中的NSObject对象

    前一篇文章讲到了OC中的代理模式,而且前几篇文章就介绍了OC中的类相关知识,从这篇文章开始我们开始介绍Foundation框架. OC中的Foundation框架是系统提供了,他就相当于是系统的一套a ...

  7. cc.RepeatForever和cc.Spawn冲突

    正确 var tmpShip3 = cc.Sprite.createWithSpriteFrameName("w1_1.png"); tmpShip3.setPosition(,) ...

  8. 借助LVS+Keepalived实现负载均衡(转)

    原文:http://www.cnblogs.com/edisonchou/p/4281978.html 一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务 ...

  9. [原创]Devexpress XtraReports 系列 9 创建邮件合并报表

    昨天发表了Devexpress XtraReports系列第八篇[原创]Devexpress XtraReports 系列 8 创建Drill-Through报表,今天我们继续. 今天的主题是创建邮件 ...

  10. webconfig文件serviceHostingEnvironment节点出错的解决方法

    在三点五和二版本的配置中可以出现这个节点,但是在4.0是没有的,所以如果框架是4.0的时候要除去这个节点,不然就会报以下错误: Configuration Error Description: An ...