这个问题我也遇到过,但是在运行过一次证明能连上数据库之后出现的。这说明你的ODBC连接时静态的,就是每次程序在另一台电脑上运行时就需要重新连一下ODBC数据库。
如果你的程序没有运行过一次就报错,问题可能出现在两点:
1、创建ODBC数据源
你可以按照如下方法重新创建一次。单击开始—>设置->控制面板->管理工具,在其中打开“数据源”(ODBC)在找到ODBC之后会d出一个“ODBC数据源管理器”对话框,添加数据源-〉选择数据源的驱动程序。这个软件的数据库使用的是Access,所以选择Micrsoft Access Driver(*.mdb )单击“完成”按钮,在d出的新对话框中填入你的数据源名,单击“选择”按钮,在d出的的“选择数据库”对话框中选择你所建的数据库(找到数据库所保存的位置),单击“确定”按钮返回,然后单击“确定”,创建ODBC数据源完成。(注意,这里创建的数据源是Access的)。
2、是SQL语言
首先在StdAfx.h 中添加如下代码:
#include <odbcinst.h>//ODBC数据库API头文件
#include <afxdb.h>
然后在CXXAPP::InitInstance()中加添
SQLConfigDataSource(NULL,ODBC_ADD_DSN,
"Microsoft Access Driver (*.mdb)",
"DSN=数据源名称\0"
"Description=Hotel\0"
"FileType=Access\0"
"DBQ=.\\数据源名称.mdb\0"
)
按照这种方法你再试试,注意创建数据源时的数据源名称要与SQL语句中的数据源名称要一致。我知道的就这么多,希望能帮上你。
(1)用MFC AppWizard(exe)创建一个SDI应用程序(2)指定要包括支持文件的database试图,单击Data Source按钮
(3)在Datbase Options对话框中,指定将使用ODBC数据源,并从数据库配置的列表中选择ODBC配置
(4)单击OK,选择要使用的表
(5)单击Ok,关闭该对话框并返回到AppWizard的第二步
(6)保留默认设置,最后一步注意,AppWizard要创建一个额外的类。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)