VC自动配置数据源

做一个软件,一个基本的标准是易用性。数据库自动连接和配置就是一个普遍的问题。在使用软件时,用户希望拿来就可以用,并不想做配置数据库、连接数据源的工作。尤其是一些非计算机专业的甚至有些吃力。我也曾经吃过这方面的亏,今天在做一个程序时查了很多资料,最终还是解决了这个问题。(我使用的是vc++做的,后台数据库是access)
在App的Initnstance中添加如下代码,在在程序运行开始时执行,连接数据源。
SQLConfigDataSource(NULL,ODBC_ADD_DSN,
  "Microsoft Access Driver (*.mdb)",
  "DSN=CaiPiaoData/0"
  "Description=彩票数据源/0"
        "FileType=Access/0"
        "DBQ=.//data.mdb/0"//数据库名称
                 );

要注意的是,当我们使用SQLConfigDataSource ODBC API函数时必须声明包含系统的odbcinst.h头文件,所以我们再选择workspace窗口中FileView打开Header Files中try.h,在其中加入#include "odbcinst.h",如果不加入这个头文件,系统编译时就会显示undeclared identifier错误,在完成上述步骤后,假如我们立即编译并Link这个项目,会发现出现下面的错误:  

  tryDlg.obj : error LNK2001: unresolved
  external symbol _SQLConfigDataSource@16
  Debug/try.exe : fatal error LNK1120:
  1 unresolved externals

  有些人可能因为找不出错误而放弃了,其实这是因为当我们使用SQLConfigDataSource 这个API函数时候必须用到odbccp32.dll,它是Microsoft提供的32位ODBC安装和管理的DLL,如果是16位必须用到odbcinst.dll,odbccp32.dll有一个import library,所以解决的办法就是把这个odbccp32.lib加到我们的项目中,我们可以打开Project系统菜单项,选Add to Project子菜单,在其中选Files项,打开VC安装目录下的vclib目录,文件类型选Library Files(.lib), 选择其中Odbccp32.lib后按OK键,然后重新编译即可通过,运行这个程序,将弹出对话窗,按下Setup ODBC按键,之后,您就可以通过控制面板的ODBC数据源管理器或注册表查看运行结果,您会发现,您的数据库已经成功的注册了。

要使用数据源,可以先用数据源创建一个CRecordSet的子类,这样数据库中的每个字段都成为这个类的属性。需要用到时候要调用即可。(创建的这个类要引用<afxdb.h>头文件) 

-----------------------------------------------------------------------------------------------------

第一次写博客,如有不对之处,愿意接受意见。本篇文章参考了部分网友的内容,由于找不到源出处。在这里表示感谢。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值