关于POST的问题!(50分)

  • 主题发起人 主题发起人 斌斌
  • 开始时间 开始时间

斌斌

Unregistered / Unconfirmed
GUEST, unregistred user!
请问各位大侠:
  我需要在数据POST之间检查数据编辑框内是否有数据?不知在哪里放检查代码?
急!请告!!!
 
在post按钮的OnClick事件中。
 
可以在Adodataset的beforepost里面
或者用if 条件 then
post
else
raise
 
哪里都 可以,只要在POST之前就行
 
我是在Adoquery1.beforepost里用
if editdbedit1.text<>'' then
adoquery1.post
else
adoquery1.cancel;
但还是不行,DELPHI低层的错误提示还是要出现?如何不要。
你说的“raise”无法使用,为什么?
 
if editdbedit1.text<>'' then
try
adoquery1.post
except
adoquery1.cancel;
raise excepion。create(‘sss’);
end;
 
不能在beforepost里用cancel;这样程序会继续运行,数据仍然要被post.
用raise exception.create('s')或abort都可以.
 
我写的那个是用在post的时候
 
raise excepion。create(‘sss’);
是什么意思?如何用?
Adoquery1.beforepost时用如下:
if editdbedit1.text<>'' then
adoquery1.post
else
 raise excepion。create(‘sss’);
我这样用,但不对。用abort可以.
 
产生一个异常。那个"。"改为"."
 
我用的是“.”,没错。
 
if editdbedit1.text<>'' then
// adoquery1.post 去掉这行
else
 raise excepion。create(‘sss’);
 
if editdbedit1.text='' then
 adoquery1.abort;
 
if editbedit1.text='' then
adoquery1.abort;
raise exception.create('XXXX');
 
你可以在一个button的Click事件里面触发post事件,但是不能在beforepost事件里面写
这些代码。因为如果post写在这个里面,你的beforepost就不能触发,不可能执行。如果
你在别的里面触发post,那么一旦进入beforepost就再次触发post,在此之前beforepost
会被再次触发。。。。如此循环。当然这是从逻辑关系上说这个问题的。结合Delphi,当
你执行完第一个post时,你就已经不在insert或者Edit状态,当第二个post执行时,delphi
就会给你报错了!
 
--》beforepost里面
--》用if 条件 then
--》 post
这样都答的出来,昏倒!
没用过的别乱答啊。

 
Adoquery1.post时用如下:
if editdbedit1.text='' then
begin
application.messagebox(char('XX不能为空!'),'提示信息',48);
editdbedit1.setfoucs;
end
else
try
adoquery1.post;
except
application.messagebox(char('保存出错'),'错误信息',16);
end;
 
以下仅供参考:
procedure TDataModule1.ADOT_StuBeforeDelete(DataSet: TDataSet);
var
DelStr1:string;
begin
DelStr1 := '确实要删除此记录吗?';
if MessageBox(Application.Handle,PChar(DelStr1),'警告',MB_YESNO or MB_ICONWARNING) = IDNO then Abort;
end;

还有我楼上stlont,大家都是来这学习的,你知道就说吧,我个人觉得态度真是……
 
我个人态度是不好的,因为我一见你这些乱答的就来气。
楼主问的是什么?你答了个“确实要删除此记录”,离
题万里。dfw里垃圾题,垃圾回复太多了。
--》大家都是来这学习的
不见得。光这帖就可以看到,有些人都在干什么。
 
stlont说得对
 
后退
顶部