永发信息网

跪下求助。。MFC的ODBC。CDatabase::open()异常

答案:2  悬赏:0  手机版
解决时间 2021-02-20 20:40
最近在研究MFC的ODBC数据库操作,想不到一开始就遇到这个绕不过去的问题,各位大神救命啊,困扰几天了~

用向导建立了一个单文档MFC项目,数据库支持头文件。

CDatabase m_db;
try{
// 数据库代码
m_db.Open(_T("login"));//<<--就是这里输入的警告

if(m_pReset==NULL)
m_pReset=new CRecordset();
m_pReset->m_pDatabase=&m_db;
if(!m_pReset->Open())//<<--然后在这里出错,未抛出CDBException异常
{
AfxMessageBox(_T("get recordset faild!"));
return FALSE;
}
}
catch(CDBException* pEx)
{
pEx->ReportError();
pEx->Delete();
}

调试输出的错误
Warning: ODBC Success With Info, _CrtDbgReport: String too long or IO Error_CrtDbgReport: String too long or IO ErrorDBMS: MySQL
Version: 5.5.24-log
ODBC Driver Manager Version: 03.52.0000
什么方法都试过了m_db.Open(_T("login"));这一句始终要输出两个 _CrtDbgReport: String too long or IO Error警告

测试过Accress、sql server、mysql三种数据库。。
测试过m_db.Open(NULL);通过对话框选择数据源。。

下载了一个网上的odbc实例:
CString mSqlStr;
CDatabase m_db;
CLoginDataSet rs;
rs.m_pDatabase=&m_db;
// m_db.Open(NULL,FALSE,FALSE,"ODBC;DNS=Login;UID=root;PWD=123456",FALSE);
m_db.Open(_T("login"));//<<--他这里却未出警告。。运行也无任何异常
UpdateData(TRUE);

实在不知道出了啥问题,跪求各位大神赐教啊。。。
最佳答案
这样就对了,要加sql语句的
CDatabase m_db;
CRecordset *m_pReset = NULL;
try{
// 数据库代码
if(!m_db.OpenEx(_T("DSN=Xtreme Sample Database 2008 CHS"), CDatabase::openReadOnly|CDatabase::noOdbcDialog)) return;
//if(!m_db.Open(_T("Xtreme Sample Database 2008 CHS")))
//return;
if(m_pReset==NULL)
m_pReset=new CRecordset();
m_pReset->m_pDatabase=&m_db;
if(!m_pReset->Open(CRecordset::snapshot,_T( "Select * from 财务" ) ))
{
AfxMessageBox(_T("get recordset faild!"));
return ;
}
}
catch(CDBException* pEx)
{
pEx->ReportError();
pEx->Delete();
}
m_pReset->Close();
m_db.Close();
全部回答
报什么错误呢? 最好使用try catch语句,捕获报错异常.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
金希澈安昭熙qq群
我总是手脚冰凉,很怕冷,一点点冷就发抖,怎
尧禾镇中这个地址在什么地方,我要处理点事
小升初毕业总复习数学练习册能买到吗
世界主要国家分别能预测未来几天的天气?从预
麻江农商银行ATM我想知道这个在什么地方
龙宫武器打什么宝石?
樱桃的英文怎么写
阳曦·芙蓉城地址在什么地方,想过去办事
从盛泽到无锡东过路费要多少?
外国人冬天只穿一条牛仔裤就可以,我们中国人
我喜欢一个女孩子,她带我出去过一次,可后来
我和别人合租公租房,合租人想买房,对我继续
日记二年级开学第一天跑步
品香园便利店在哪里啊,我有事要去这个地方
推荐资讯
青岛麦饭石矿泉水地址有知道的么?有点事想过
移动流量每超1兆扣多少钱
张家界有凯迪拉克卖吗
多长时间应该清洗一次地暖盘管
建立、巩固加深、拓展人脉这三步具体要怎么做
怎么改变jbox插件对应标题的颜色
递延收益为什么属于负债类科目?
化合反应的特点
是吗日语
努力什么时候都不晚,孔子说:
房产证是证明房屋权属的唯一依据吗
屏边县邮政营业厅地址有知道的么?有点事想过
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?