这个循环错到哪儿了

guess1975 2007-07-24 10:13:05
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Query2->Close();
Query2->SQL->Clear();
Query2->SQL->Add("select * from xycfmx where bianh='000060'");
Query2->Open();

if (Query2->Eof==Query2->Bof)
ShowMessage("空");
else
{
do
{Query1->Edit();
Query2->Next();
Query1->FieldByName("DANWMC")->AsString=Query2->FieldByName("bianh")->AsString;


}
while((Query2->Eof)==true);

}

}
为什么只能提交一条记录 其实000060 一共有5条记录
...全文
88 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
i_love_pc 2007-07-24
  • 打赏
  • 举报
回复
do
{Query1->Edit();
Query2->Next();//Query2移动了,Query1是不是也要跟着动呢?
Query1->FieldByName("DANWMC")->AsString=Query2->FieldByName("bianh")->AsString;
}
while((Query2->Eof)==true);
sharkxie 2007-07-24
  • 打赏
  • 举报
回复
少了First();
Query2->Close();
Query2->SQL->Clear();
Query2->SQL->Add(qstr);
Query2->Open();
if(Query2->Eof)
{
return;
}
Query2->First();
while(!Query2->Eof)
{
ComboBox1->Items->Add(Query2->FieldByName("text")->AsString);
Query2->Next();
}
donwmufromdying 2007-07-24
  • 打赏
  • 举报
回复
对了!上面忘记Query1->Next以及判断Query1->Eof了
donwmufromdying 2007-07-24
  • 打赏
  • 举报
回复
代码请改成!
while(!Query2->Eof)
{
query1->Edit();
Query1->FieldByName("DANWMC")->AsString=Query2->FieldByName("bianh")->AsString;
Query1->Post();
Query2->Next();
}
donwmufromdying 2007-07-24
  • 打赏
  • 举报
回复
Query1->Edit();
Query2->Next();
Query1->FieldByName("DANWMC")->AsString=Query2->FieldByName("bianh")->AsString;
你的Query1数据集是怎么回事?

1,178

社区成员

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

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