95分的期盼!!

fellowcheung 2001-10-30 07:39:22
我的窗体的控件布局是:Edit1,Edit2,Button1,DBGrid1,Table1,DataBase1。
Edit1:接收A的数据;
Edit2:接受B的数据。
Button1:用来完成对数据修改结果的保存。
DBGrid1:显示数据修改结果。
Table1:是DBase for Windows。

已知:数据库中有三个字段A、B、C,其中,A、B通过Form1的Edit1和Edit2来获得(整形)数据。C=∑(A+B)——即:C是每一条记录中A、B的累加和。三个记录值的结果,同时写入到Table1中。并通过DBGrid将三个字段的值反映出来。
现在,通过DBGrid的OnCellClick事件来提取出任一一条记录中的A、B的值:
Edit1=IntToStr(Table1->FieldByName("A")->Value);
Edit2=IntToStr(Table1->FieldByName("B")->Value);
现在,将提取出来的任意一条记录值进行修改。通过Button1的OnClick事件写入到数据库,并通过DBGrid显示出来。

问题:要求能够将修改的值写入到数据库中的同时,未修改的数据能够自动的参与运算,保证C的值的正确性。
为了能够更直观的说明,给出如下参考数据:Record1: A=1,B=1,C=2;
Record2: A=1,B=1,C=4;
Record3: A=2,B=4,C=10。
在对Record2进行如下修改:Record2: A=4,B=3后,程序能够自动完成对三条记录的修改及更新,即: Record1: A=1,B=1,C=2;
Record2: A=4,B=3,C=9;
Record3: A=2,B=4,C=15。
能够解决此问题者(要求代码),95分全部给你!——言必信!
...全文
97 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fellowcheung 2001-10-30
  • 打赏
  • 举报
回复
继续关注!
通一 2001-10-30
  • 打赏
  • 举报
回复
我可以为你实现:(数据库用SQL,你改一下就可以了)
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ADOQuery1->Edit();
ADOQuery1->FieldByName("A")->Value=Edit1->Text;
ADOQuery1->FieldByName("B")->Value=Edit2->Text;
ADOQuery1->FieldByName("C")->Value=
ADOQuery1->FieldByName("A")->Value+ADOQuery1->FieldByName("B")->Value;

ADOQuery1->Prior ();
int TempC=ADOQuery1->FieldByName("C")->Value;
ADOQuery1->Next();
do
{
ADOQuery1->Edit();
ADOQuery1->FieldByName("C")->Value=
ADOQuery1->FieldByName("A")->Value+ADOQuery1->FieldByName("B")->Value;
ADOQuery1->FieldByName("C")->Value=TempC+ADOQuery1->FieldByName("C")->Value;
TempC=ADOQuery1->FieldByName("C")->Value;
ADOQuery1->Next();

}
while(!ADOQuery1->Eof);


}


csz_cmy 2001-10-30
  • 打赏
  • 举报
回复
为什么所有的记录会发生变化;除非数据库中的"C"字段值本来不正确。
要是这样没必要等到点击才更新。在数据库打开时计算。
void __fastcall TForm1::Table1AfterOpen(TDataSet *DataSet)
{
Table1->First();
while(!Table1->Eof)
{
Table1->Edit();
Table1->FindField("C")->AsInteger=Table1->FindField("A")->AsInteger+
Table1->FindField("B")->AsInteger);
Table1->Next();//Not Use Table1->Post();
}
}
fellowcheung 2001-10-30
  • 打赏
  • 举报
回复
GF!

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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