我想用“增加”按纽增加一条数据,如果“姓名”字段为空的话,
系统提示“不能为空”
要求重新输入。
但是我下面的代码执行一次可以,但第二次就报错了。为什么???begin
adotable1.Append;
adotable1.FieldByName('k2').asstring:=edit1.Text;
adotable1.FieldByName('k3').asstring:=edit2.Text;
adotable1.FieldByName('k4').asstring:=edit3.Text;
adotable1.FieldByName('k5').asstring:=edit4.Text;
adotable1.FieldByName('k6').asstring:=edit5.Text ;if edit1.text<>'' then
showmessage('姓名不能为空!')
else
adotable1.Post;
edit1.Text:='';
edit2.Text:='';
edit3.text:='';
edit4.Text:='';
edit5.text:='';
end;
系统提示“不能为空”
要求重新输入。
但是我下面的代码执行一次可以,但第二次就报错了。为什么???begin
adotable1.Append;
adotable1.FieldByName('k2').asstring:=edit1.Text;
adotable1.FieldByName('k3').asstring:=edit2.Text;
adotable1.FieldByName('k4').asstring:=edit3.Text;
adotable1.FieldByName('k5').asstring:=edit4.Text;
adotable1.FieldByName('k6').asstring:=edit5.Text ;if edit1.text<>'' then
showmessage('姓名不能为空!')
else
adotable1.Post;
edit1.Text:='';
edit2.Text:='';
edit3.text:='';
edit4.Text:='';
edit5.text:='';
end;
if edit1.text='' then
showmessage('姓名不能为空!')
else
adotable1.Append;
adotable1.FieldByName('k2').asstring:=edit1.Text;
adotable1.FieldByName('k3').asstring:=edit2.Text;
adotable1.FieldByName('k4').asstring:=edit3.Text;
adotable1.FieldByName('k5').asstring:=edit4.Text;
adotable1.FieldByName('k6').asstring:=edit5.Text ;
adotable1.Post;
edit1.Text:='';
edit2.Text:='';
edit3.text:='';
edit4.Text:='';
edit5.text:='';
end;这样还是不行啊求你们了,很急的????
if edit1.text='' then
showmessage('姓名不能为空!')
else
Begin
adotable1.Append;
adotable1.FieldByName('k2').asstring:=edit1.Text;
adotable1.FieldByName('k3').asstring:=edit2.Text;
adotable1.FieldByName('k4').asstring:=edit3.Text;
.......
.......
END;
if edit1.text='' then
showmessage('姓名不能为空!')
放到了数据更新的后面,所以不对你第2次的错误是提前结束了个else的过程
你用ZbDerek(虚竹的办法就可以了
不过我一直习惯用begin
if edit1.text='' then
begin showmessage('姓名不能为空!');exit;end; adotable1.Append;
adotable1.FieldByName('k2').asstring:=edit1.Text;
adotable1.FieldByName('k3').asstring:=edit2.Text;
adotable1.FieldByName('k4').asstring:=edit3.Text;
.......
.......
其实你用adotable1[‘k2']:=edit1.Text;
adotable1['k3']:=edit2.Text;
这样赋值就可以的