(新人)MFC中怎样ODBC将数据库连接到对话框程序 未发现数据源名称并且未指定默认的驱动程序 20

刚刚接触数据库……什么都不知道……建立一个基于对话框的程序……在控制面板中添加了一个MY.mdb的数据库……建立了名为“用户”的表……其中包含“姓名”的表项……包含了af... 刚刚接触数据库……什么都不知道……建立一个基于对话框的程序……在控制面板中添加了一个MY.mdb的数据库……建立了名为“用户”的表……其中包含“姓名”的表项……
包含了afxdao.h

CLenter为CDialog的派生类
m_Name为CLenter的CString型成员变量

void CLenter::OnEnter()
{
// TODO: Add your control notification handler code here

if(!db1.Open(_T("用户"),FALSE,FALSE,_T("ODBC;"),FALSE))
{
AfxMessageBox(" No DB!");
} //打开指定的ODBC数据源
CRecordset rd1(&db1);
if(!rd1.Open(CRecordset::dynaset,"Select * from [test]"))
{
AfxMessageBox("No RD!");
} //打开数据源中的表
CString temp2;
while(!rd1.IsEOF( ))
{
rd1.GetFieldValue("姓名",temp2);
if(m_Name==temp2)
{
MessageBox("登录成功");
break;
}
rd1.MoveNext();
}

运行提示 未发现数据源名称并且未指定默认的驱动程序
是什么原因?
怎样解决?
谢谢指导…………
db1 是CDatabase型变量
展开
 我来答
50573750
2010-07-17 · TA获得超过976个赞
知道大有可为答主
回答量:1800
采纳率:100%
帮助的人:0
展开全部
把这句话改了 if(!db1.Open(_T("用户"),FALSE,FALSE,_T("ODBC;"),FALSE))

倒数第二个参数,不仅传那个,还要传一个odbc连接字符串。

比如"ODBC;DSN=数据源名称;UID=用户名;PWD=密码"

其次,建议你不要使用汉字作为数据源名称,因为汉字的编码问题,兼容性不好,很容易出现错误!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式