我在dbgrid 中输入数据时,当最后一个字段为空时,我按下回车或TAB它就触发post事件,但我的表设计时不能为空,所以会出错!我该怎么办,让它不保存?????????????????????????????????????????????????????
解决方案 »
- cxgrid中ComboBox对象的使用
- 寻找一款好点的GRID控件
- 请教一下,如果将上面的语句修改成delphi版本,用下面的语句可以吗?有什么错误啊?
- 制作新控件,出现问题,请高手解答啊
- 问一下关于主程序(EXE)如何跟动态加载的包进行交互。即如何通讯。详情请进内......
- 如何改变headercontrol的颜色?????????/能解决吗 高手!!!!!!!!!
- 帮忙!@!!!!!答对者有分!!!!!!!!!!
- 如何得到当前的所有的窗口?
- 我有3千多分,如何才能给超过100分?
- BDE连接不了?
- 巨难问题。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
- 关于DBGRID,求助!!!(说过好多次了,就是没人答)
procedure TfrmFillCredence.ADOQryDBBeforePost(DataSet: TDataSet);
var errorMessage:string;
begin
errorMessage:= checkRecord(); AdoQryDb.Edit; if ( errorMessage<>'') then
begin
showMessage(errorMessage);
abort;
exit;
end
else begin
if (checkCode(AdoQryDb.fieldbyname('ccode').asstring)=false) then
begin
MessageDlg('输入的编码 '+AdoQryDb.fieldbyname('code').asstring+' 不存在,请重试!', mtWarning, [mbOK], 0);
abort;
exit;
end;
InitPost();
end;
end;
如果想编辑数据,字段为非空而不录入数据,是肯定提交不了的,既然不能提交,你录入数据又有什么意义呢。如果可能,建议将字段改为可空.
不行就abort()
beforepost事件里面判断
不行就abort()