这个调试错误怎么解决?急急急!!!!!!!!!!

alarm_zq 2002-06-05 04:35:59
我用vc做了一个基于对话框的应用程序,数据访问是通过ODBC,但是调试却一直有问题,问题如下:
程序能正常创建窗口,但是我一点按钮运行程序时立刻弹出错误对话框,提示信息如下:
Debug Assertion Failed!
Program: d:\..\Debug\DM.EXE
File:dbcore.cpp
line:956
如果忽略这个错误,则接着就是另外一个错误提示框,显示如下:
Debug Assertion Failed!
Program: d:\..\Debug\DM.EXE
File:axfdb.inl
line:20
请大家给点意见,很急,拜托!

...全文
33 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zqalarm 2002-06-06
  • 打赏
  • 举报
回复
你可能没有定义CDATABASE指针,你在对话框类前面定义了就应该可以了。
alarm_zq 2002-06-05
  • 打赏
  • 举报
回复
我的email是:alarm_zq@hotmail.com,谢谢
freelybird 2002-06-05
  • 打赏
  • 举报
回复
void CTransAccessToDbfDlg::OnBtnObjname()
{
// TODO: Add your control notification handler code here
//关闭目标数据库
if(m_pDatabase_obj.IsOpen())
m_pDatabase_obj.Close();

//打开目标数据库
CString SqlDataSourceName;
if(m_pDatabase_obj.OpenEx(NULL,CDatabase::useCursorLib))
{
//初始化变量及写ini文件
if(m_pDatabase_obj.IsOpen())
{
if(!this->m_Config.IsInitialized()) return;
SqlDataSourceName = SQLGetInfoString(&m_pDatabase_obj,SQL_DATA_SOURCE_NAME);
this->SetDlgItemText(IDC_EDIT_OBJPATH,SqlDataSourceName);
this->m_Config.SetConfigValue("Gernal","OBJ_DataSourceName",SqlDataSourceName);
}
}
else
{
GetDlgItemText(IDC_EDIT_OBJPATH,SqlDataSourceName);
m_pDatabase_obj.Open(SqlDataSourceName,CDatabase::useCursorLib);
}

}
freelybird 2002-06-05
  • 打赏
  • 举报
回复
this->UpdateData();

if(!m_pDatabase_src.IsOpen())
::AfxMessageBox("Access源数据库没有打开");
if(!m_pDatabase_obj.IsOpen())
::AfxMessageBox("Dbf目标数据库没有打开");


///*添加日期
CJiangShuSet set(&m_pDatabase_obj);
try
{
CString strSql;
strSql.Format("select * from %s", this->m_strTableName);
set.Open(CRecordset::snapshot, strSql);

if(set.GetRecordCount() <= 0) return;

int nYear = 2002;
int nMonth = 05;
int nDay = 16;
int nHour = 16;
CTime tempDate( nYear, nMonth, nDay, nHour, 0, 0);

for(; !set.IsEOF(); )
{
set.Edit();

tempDate += CTimeSpan( 1, 0, 0, 0 );
set.m_smsgtime = tempDate.Format("%Y%m%d%H%M%S");
if(set.CanUpdate()) set.Update();
set.MoveNext();
}
}
catch(CDBException ex)
{
}
if(set.IsOpen()) set.Close();

::AfxMessageBox("转换成功");
freelybird 2002-06-05
  • 打赏
  • 举报
回复
ODBC最容易出错. 把代码贴出来. 或留下一个mail.我给你发个简单例子.
liugy 2002-06-05
  • 打赏
  • 举报
回复
TRACE("%s", _sys_errlist[GetLastError()]);
逐个地方查查。
alarm_zq 2002-06-05
  • 打赏
  • 举报
回复
请各位高手帮忙,解决了再加100分!
alarm_zq 2002-06-05
  • 打赏
  • 举报
回复
alphapiao(叶飘飞):如果错在别的地方,最可能的是在哪里呢?
webber84 2002-06-05
  • 打赏
  • 举报
回复
File:axfdb.inl
line:20
打开这个文件看一看是什么导致的assertion fail.
kingzai 2002-06-05
  • 打赏
  • 举报
回复
call stack 找到错误的地方,并使用try catch
alphapiao 2002-06-05
  • 打赏
  • 举报
回复
这个问题不一定和你访问数据库有关,可能出在你的程序其他地方,我也碰到过,开始以为是访问数据库的方法有错,后来发现错在别的地方。
suduan 2002-06-05
  • 打赏
  • 举报
回复
assert(false)导致的,试试release编译

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧