修改数据库中纪录的问题 我修改记录是用的dbedit,同时用一个dbgrid显示,但是产生了一个问题:当我修改dbedit中的值时,不用点击保存按钮,当我转移到下一条纪录时。上一条纪录的值实际上它自己已经保存了。这样当有人不小心改动时,数据却自动保存了,这样不太好吧。 请问各位老师:怎样避免这样的问题呢?怎样使数据修改做得更严谨呢?谢谢回答! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 编辑的时候 dbgrid.Enabled := false 你的DataSound.AutoEdit是不是True了啊! datasource的AutoEdit关了以后修改要想改动的数据时就会报错,说什么“adoquery not in Edit or insert”, 是怎么回事啊 建议,不要用db控件,表格可以用,但进行输入的控件最好不要用db的,用普通的edit就行,多谢几行代码,会减少很多出错的几率 可是我也比较用 数据感应控件,而实际情况是 程序出错几率非常高,用户体验不好,慢慢放弃了,甚至 dbgrid 我都不用,直接用 Listview 我是这么做的:主界面有一个‘修改’按钮,点击后ShowModal出修改窗体,修改窗体上面放置一系列DBEdit,和‘确定’‘取消’两个按钮,两个按钮的ModalResult属性分别设mrOK和mrCancel.判断ShowModal返回值如果不是mrOK则Dataset.Cancel.procedure TForm1.btn_ModifyClick(Sender: TObject);begin DataSet.Edit; if frm_Modify.ShowModal = mrOK then DataSet.Post else DataSet.Cancel;end; 弹出窗体中也不要用dbedit,也用edit,让后写保存代码,不会出错的,即时出错也好跟踪 你要使用DBnavigator的进入编辑状态。 艺术签名的实现原理 做过多串口通信开发的请进!有关机房监控系统. 急问:如何得到昨天的日期(对大家来说很简单)? 这个filter怎么写? 在保存数据表时, 怎么知道当中的某个或几个字段的值是否已经被修改过? 偶想得到outlook的第一个页面的显示效果,请兄弟们出出主意(200分) 紧急求救,你要多少分都行!我问过的问题都给分了. 还有更方便的方法吗? 返回多个数据集的问题? OpenFileMapping函数在NT下是否能够使用? 做过组件保存进来.... 关闭模态窗体另外一个窗体标题会猛闪,求救....
而实际情况是 程序出错几率非常高,用户体验不好,慢慢放弃了,甚至 dbgrid 我都不用,直接用 Listview
主界面有一个‘修改’按钮,点击后ShowModal出修改窗体,
修改窗体上面放置一系列DBEdit,和‘确定’‘取消’两个按钮,
两个按钮的ModalResult属性分别设mrOK和mrCancel.
判断ShowModal返回值如果不是mrOK则Dataset.Cancel.
procedure TForm1.btn_ModifyClick(Sender: TObject);
begin
DataSet.Edit;
if frm_Modify.ShowModal = mrOK then
DataSet.Post
else
DataSet.Cancel;
end;
你要使用DBnavigator的进入编辑状态。