做MFC ODBC程序时,第一步总要在控制面板->管理工具->数据源 中添加数据源,这给程序使用者带来很大不便。在知道数据库(如mdb)文件路径的情况下,如何让程序自动完成这一步?已经知道的一种方法是调ODBC API:
::SQLConfigDataSource
但编译总通不过,提示:
“SQLConfigDataSource” is not a member of '`global namespace''。
明明我敲入::时自动下拉列表里会出现这个函数,为什么不能用呢?API我用得较少,请高手指点!
::SQLConfigDataSource
但编译总通不过,提示:
“SQLConfigDataSource” is not a member of '`global namespace''。
明明我敲入::时自动下拉列表里会出现这个函数,为什么不能用呢?API我用得较少,请高手指点!
解决方案 »
- 为了解决宽窄字符串的转换、链接问题,我打算完成下面的设计,请各位看看是否还需要补充
- 急求助 进程启动 消息?
- ###WSArecv怎么用啊
- 大家一起讨论一下图象拼接问题!
- Spin控件的增加顺序颠倒了?
- 如果使用ShellExecute的返回值
- 请教数字图象处理的高手 有关色彩匹配(身份证识别)
- 在vc初学者的帮助************在线等候***************
- Win7下为什么RAW Socket不能捕获发给自己的包?
- 我用MFC做了一个基于对话框的应用程序,只能在我的机器上运行
- 在线求助 一个关于动态库调用动态库的问题 help
- vc++与SQL SEVER 做开发,如何调用SQL SERVER 中的DTS导入/导出功能?!
#include <odbcinst.h>
#include <afxdb.h>
#include <sqlext.h> // extensions#pragma comment(lib, "odbccp32.lib")
#pragma comment(lib, "odbc32.lib")
加入下面的代码试试:
#include <odbcinst.h>
#include <afxdb.h>
可能还要包括odbcinst.dll
试试吧。
第二步,在Project->settings->link中加入“odbccp32.lib”
然后
SQLConfigDataSource(NULL,ODBC_ADD
_SYS_DSN,"Microsoft Access Driver (*.mdb)\0","
DSN=TryDB\0DBQ=D:\\Database\\
try.mdb\0DEFAULTDIR=D:\\DATABASE\0\0");
重新rebulid
对《一个完善的ODBC数据库程序》一文的补充
作者:刘永超
下载源代码
编者注:本文是作者对不久前发布的一篇文章的补充,在阅读本文之前,最好先看一下原来的文章:“一个完善的ODBC数据库程序”。
从方便用户的角度考虑,应该在程序中采用动态创建数据源。经过编者的提醒,我查找了一些资料,还好最终实现了。代码如