delphi7 dbgrideh显示主从表,增记录时,主表显示,从表不显示问题。

xjjsky105 2014-07-11 08:49:05
一个dbgrideh 中显示主表和从表 从表用到 TMemTableEh 和 TDateSetDrive 程序打开 dbgrideh 显示主表信息 展开后可以看到从表信息 增加记录时 很多条信息增加到另一个dbgrideh 中 点击保存按钮 一起保存数据库里 从表用到事务回滚

保存按钮的主要代码 如下 :
Frm_Data.ADOConnection1.BeginTrans;
try
with Frm_Data.Qry_Bill do
begin
Append;
FieldByName('BillCode').AsString:=trim(edt_DanJuHao.Text);

if Edit_CustName.Showing then
FieldByName('CustName').AsString:=trim(Edit_CustName.Text);
if Combo_Other.Showing then
FieldByName('CustName').AsString:=trim(Combo_Other.Text);
if Combo_Depart.Showing then
FieldByName('CustName').AsString:=trim(Combo_Depart.Text);

FieldByName('InOrOut').AsString:=inorout;
FieldByName('Sign').AsInteger:=pub_sign;
FieldByName('BillType').AsString:=strBillType;
FieldByName('SGCode').AsString:=trim(Edit_SGCode.Text);
FieldByName('CangName').AsString:=trim(cbb_CangName.Text);
FieldByName('F_user').AsString:=trim(cbb_User.Text);
FieldByName('F_maker').AsString:=trim(Edit_Maker.Text);
FieldByName('Memo').AsString:=trim(Edit_memo.Text);
FieldByName('AddDate').AsDateTime:=DateTimePicker1.Date;
FieldByName('CustId').AsString:=trim(edt_CustId.Text);
Post;
end;

Frm_Data.Qry_BillDetail.UpdateBatch(); // 从表的回滚提交到数据库里去
Frm_Data.ADOConnection1.CommitTrans;
except
Frm_Data.ADOConnection1.RollbackTrans;
MessageDlg(pchar('数据出错导致单据不能保存成功,请重新点击保存按钮保存单据!'), mtInformation,[mbOk], 0);
end;


然而点击保存后 dbgrideh只可以看到主表信息 点击展开 看不到从表信息 查询数据库表 从表有信息 把程序重新打开dbgrideh才可以看到刚才从表信息
...全文
447 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_33960253 2016-02-11
  • 打赏
  • 举报
回复
我也遇到同样的问题,用BDE的TABLE就可以,用ADOTABLE就不行
qq_17279253 2014-07-15
  • 打赏
  • 举报
回复
为什么要单独拿来出来增加呢,为什么DBGrid表格里自己增加,更方便。
luxuewei5214 2014-07-15
  • 打赏
  • 举报
回复
dggrideh是不是需要刷新一下数据源?

828

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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