MFC中怎样ODBC将数据库连接到对话框程序

MFC中怎样ODBC将数据库连接到对话框程序,第1张

“未发现数据源名称并且未指定默认的驱动程序”

这个问题我也遇到过,但是在运行过一次证明能连上数据库之后出现的。这说明你的ODBC连接时静态的,就是每次程序在另一台电脑上运行时就需要重新连一下ODBC数据库。

如果你的程序没有运行过一次就报错,问题可能出现在两点:

1、创建ODBC数据源

你可以按照如下方法重新创建一次。单击开始—>设置->控制面板->管理工具,在其中打开“数据源”(ODBC)在找到ODBC之后会d出一个“ODBC数据源管理器”对话框,添加数据源-〉选择数据源的驱动程序。这个软件的数据库使用的是Access,所以选择Micrsoft Access Driver(mdb )单击“完成”按钮,在d出的新对话框中填入你的数据源名,单击“选择”按钮,在d出的的“选择数据库”对话框中选择你所建的数据库(找到数据库所保存的位置),单击“确定”按钮返回,然后单击“确定”,创建ODBC数据源完成。(注意,这里创建的数据源是Access的)。

2、是SQL语言

首先在StdAfxh 中添加如下代码:

#include <odbcinsth>//ODBC数据库API头文件

#include <afxdbh>

然后在CXXAPP::InitInstance()中加添

SQLConfigDataSource(NULL,ODBC_ADD_DSN,

"Microsoft Access Driver (mdb)",

"DSN=数据源名称\0"

"Description=Hotel\0"

"FileType=Access\0"

"DBQ=\\数据源名称mdb\0"

);

按照这种方法你再试试,注意创建数据源时的数据源名称要与SQL语句中的数据源名称要一致。我知道的就这么多,希望能帮上你。

首先你把数据源配置好,具体过程在百度上可以搜到,先建一个数据库,添加好你要用到的表,然后在里面选择SQL server,这些就不说了,具体在MFC中连接的时候,首先你建一个MFC项目,把你要用的对话框弄好,再新建里面找MFC ODBC使用者,会出现选择数据源的对话框,在里面找你要用到的数据库,确定后会出现选择数据库对象的对话框,可能会出现登陆的对话框,选择你要用的数据库对象就可以了,说的不是很详细,没有实际的做,凭印象的,希望可以帮到你

15年之前,ODBC已经不推荐使用了,建议至少用个ADO吧。

过滤写法中用的是字符串,理论上你这个应该使用"m_ID=3"

一个很严重的问题:在VC++下,类名、函数名、变量名、工程名、文件名,不要使用中文,而应该使用英文,否则出了什么古怪的问题都不知道。

比如在你的工程目录中建一个 dbf\virmdb //Access数据库,然后你需要做以下 *** 作:

1在StadAfxh里面添加#include <afxdbh> //新加入头文件,用于CDatabase类。

2在StadAfxh最后的#endif上添加#import "msado15dll" no_namespace rename("EOF","rsEOF")

这时,你要把msado15dll拷到与dbf同级的目录,也就是工程目录里,当然你可以该路径

3在你自己的工程里,比如MyProc是你建的工程,添加代码

CMyPorcApp::CMyProcApp(){

CoInitialize(NULL);

SQLConfigDataSource(NULL,ODBC_ADD_DSN, "Microsoft Access Driver (mdb)",\

"DSN=MyImage;DBQ=dbf\\virmdb;DEFAULTDIR=dbf"); //注册本地数据库数据源

m_dbOpenEx("DSN=MyImage;;",CDatabase::noOdbcDialog);//MyImage是数据源名称

}

4在前面的函数体之前创建全局变量CDatabase m_db; CRecordset m_rec(&m_db);

5使用数据库{

CString strSQL="select from virdb";

BSTR bstrSQL=strSQLAllocSysString();

m_recOpen(CRecordset::dynaset,strSQL);

while(!m_recIsEOF())

{

// 使用数据库的代码,读出来的数据都是字符串型的

CString MyVirable;

m_recGetFieldValue("字段名",MyVirable); //将某个字段的当前行的值读到MyVirabl中

//

m_recMoveNext(); //将记录移到下一行

}

}

本程序是自动注册数据源的,当然可以手动注册数据源,关于如何注册数据源并不麻烦,叙述起来不太方面,你就参考其他的吧。不过建议不用手动注册数据源,这样你地程序移植性不好

以上就是关于MFC中怎样ODBC将数据库连接到对话框程序全部的内容,包括:MFC中怎样ODBC将数据库连接到对话框程序、用MFC怎么用odbc 连接SQL数据库,求详解啊、MFC 里用ODBC 怎么在SQL数据库里筛选数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10158712.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存