新增与保存的问题

qq_35972814 2017-07-24 10:19:35
我想通过临时数据集控制,或者定义一个全局变量,来控制,首先在新增的时候可以增加多行,但是点击保存的时候,就不能多行进行保存,只允许保存一行,并提示“不能多上保存,请一行一行保存”
...全文
463 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
doloopcn 2017-08-01
  • 打赏
  • 举报
回复
建议先把界面做好,再写代码 初学的时候应该多画流程图,加深对系统的了解 界面做好了,流程图也画好了,其实代码就是填上去
qq_35972814 2017-07-25
  • 打赏
  • 举报
回复
不好意思,我很菜,才刚学。 procedure Tfrm_borrow.btn3Click(Sender: TObject); var sql:string; begin inherited; if not cdsborrow.Active then Exit; if THisFuncObj.Confirm(FuncObj,'是否保存?') <> 1 then Exit; if cdsborrow.State in [dsEdit,dsInsert] then cdsborrow.Post; if cdsborrow.RecordCount >= 1 then begin if not TToolKit.CheckFieldNull(cdsborrow.FieldByName('id').AsString) then cdsborrow.Delete; end; MAINADO.BeginTrans; //数据执行 HisShareFun.ShowWait('正在保存,请稍等....',0,true); try try sql:=' update xm_follow x set x.status = (select status from xm_borrow z where x.type=z.type_id and x.id=z.id) where x.id in (select id from xm_borrow where x.type=type_id )'; THisDbToolKit.ExecSQL(DataObj,sql); sql:=' update xm_archives y set y.status = (select status from xm_borrow z where y.type=z.type_id and y.id=z.id) where y.id in (select id from xm_borrow where y.type=type_id )'; THisDbToolKit.ExecSQL(DataObj,sql); cdsborrow.ApplyUpdates(0); MAINADO.CommitTrans; //数据提交 if cdsborrow.Active then cdsborrow.EmptyDataSet; THisFuncObj.ShowMSN(FuncObj,'保存成功!','提示',3); except on e:Exception do begin MAINADO.RollbackTrans; THisFuncObj.Allart(FuncObj,'保存失败,请联系管理员' + e.Message); end; end; finally HisShareFun.ShowWait('正在保存,请稍等...',100,false); end; btn5.Click; end; 这时我处理保存的时候。 procedure Tfrm_borrow.btn4Click(Sender: TObject); begin inherited; if not cdsborrow.Active then Exit; try cdsborrow.Append; cdsborrow.FieldByName('id').AsString := ''; cdsborrow.Post; cxGrid1.SetFocus; cxGrid1DBBandedTableView1Column1.Focused := True; except on e:Exception do begin THisFuncObj.Allart(FuncObj,'新增人员失败!' + e.Message); end; end; end; 这是我新增信息的时候,我的想法是,通过一个全部变量,function changedata(var msg:string) :Integer;这是我定义的全局变量,然后我想通过当点击新增的时候,我想置为1,表示可以多条记录新增,但是点击保存的时候,我想置为0,表示不能多条信息同时保存,并提示报错“不能多条信息保存”
lyhoo163 2017-07-24
  • 打赏
  • 举报
回复
你要自己写一个函数,通过循环保存DBGrid全部数据。这样,才可以。

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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