计算机二级C技巧:VC自动配置数据源
来源:优易学  2011-12-10 16:43:31   【优易学:中国教育考试门户网】   资料下载   IT书店

  做一个软件,一个基本的标准是易用性。数据库自动连接和配置就是一个普遍的问题。在使用软件时,用户希望拿来就可以用,并不想做配置数据库、连接数据源的工作。尤其是一些非计算机专业的甚至有些吃力。我也曾经吃过这方面的亏,今天在做一个程序时查了很多资料,最终还是解决了这个问题。(我使用的是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>头文件)

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训