出现一个EOleException异常,不知如何解决!

HenryGo 2004-01-17 10:31:02
在一个循环操作中,使用一个ADODataSet组件打开不同的表时,出现了一个错误对话框,说是:"在对应所需名称或者序数的集合中,未找到项目".
这是一个什么样的异常,如何解决?
先谢谢大家
...全文
447 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
HenryGo 2004-01-17
  • 打赏
  • 举报
回复
都还没open怎么可以执行ClearFields()操作呢?
ClearFields()应该是要在当前活动表才可以操作的
xjcpower 2004-01-17
  • 打赏
  • 举报
回复
你在open之前执行一次ClearFields()试试看!
HenryGo 2004-01-17
  • 打赏
  • 举报
回复
上面的代码贴的有点乱,重贴一次!
其中一个循环的代码如下:
说明:DelTemp和DelTemp均是ADODataSet组件,出现异常的地方是在打开DelTemp2的处

int count = DelTemp->RecordCount;
info = "你选中了"+IntToStr(count)+"条记录,确认要删除吗?请在删除前做好数据备份!";
DelTemp->First();
if(MessageBox(Application->Handle,info.c_str(),"敬告信息",MB_YESNO|MB_ICONWARNING) == IDYES){
DelTemp2->Close();
DelTemp2->CommandText = "select * from 报价明细库";
DelTemp2->Open();
Screen->Cursor = crSQLWait;
int i=0,j=0;
while(!DelTemp->Eof){
DelTemp2->Filtered = false;
DelTemp2->Filter = " 客户名= '" + DelTemp->FieldByName("客户名")->AsString+ "' and 报价日期 ='"+ DelTemp->FieldByName("报价日期")->AsString + "'";
DelTemp2->Filtered = true;
DelTemp2->First();
while(!DelTemp2->Eof){
DelTemp2->Delete();
j++;
}
DelTemp->Delete();
i++;
}
DelTemp2->Close();
Screen->Cursor = crDefault;
AnsiString info = "删除数据成功,报价库删去"+IntToStr(i)+"条数据,报价明细库删去"+IntToStr(j)+"条数据。请点击确定按钮!";
ShowMessage(info.c_str());
}
HenryGo 2004-01-17
  • 打赏
  • 举报
回复
其中一个循环的代码如下:
说明:DelTemp和DelTemp均是ADODataSet组件,出现异常的地方是在打开DelTemp2的处

int count = DelTemp->RecordCount;
info = "你选中了"+IntToStr(count)+"条记录,确认要删除吗?请在删除前做好数据备份!";
DelTemp->First();
if(MessageBox(Application->Handle,info.c_str(),"敬告信息",MB_YESNO|MB_ICONWARNING) == IDYES){
DelTemp2->Close();
DelTemp2->CommandText = "select * from 报价明细库";
DelTemp2->Open();
Screen->Cursor = crSQLWait;
int i=0,j=0;
while(!DelTemp->Eof){
DelTemp2->Filtered = false;
DelTemp2->Filter = " 客户名= '" + DelTemp->FieldByName("客户名")->AsString
+ "' and 报价日期 ='"+ DelTemp->FieldByName("报价日期")->AsString + "'";
DelTemp2->Filtered = true;
DelTemp2->First();
while(!DelTemp2->Eof){
DelTemp2->Delete();
j++;
}
DelTemp->Delete();
i++;
}
DelTemp2->Close();
Screen->Cursor = crDefault;
AnsiString info = "删除数据成功,报价库删去"+IntToStr(i)+"条数据,报价明细库删去"+IntToStr(j)+"条数据。请点击确定按钮!";
ShowMessage(info.c_str());
}
xjcpower 2004-01-17
  • 打赏
  • 举报
回复
代码喃?

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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