毕业论文中有这样一个问题,首先定义一个过程,然后在调用过程的窗体里点击姓名文本框如果内容为空就出现提示信息,如果性别内容为空也出现提示信息(这是我想实现的功能)我在过程里是这样对字段进行判断的,语句如下:
begin
//如果姓名中没有输入数据那么出现提示信息
if a='' tehn
begin
application.messagebox('姓名内容不能为空,请输入');
exit
end;
//如果性别中没有输入数据那么出现提示信息
if b='' then
beign
application.messagebox('性别内容不能为空,请输入');
exit;
end;try
strtoint(a);
except
mb.ADOCommand1.CommandText:='insert into table(姓名,性别)values(:a,:b)';
  mb.ADOCommand1.Parameters.ParamValues['a']:=strtoint(a);
 mb.ADOCommand1.Parameters.ParamValues['b']:=b;
以下简略
问题就是在调用这个过程的这个窗体无论点击哪个文本框都会出现提示信息:"姓名内容不能为空,请输入",请问这个语句错在了哪里,需要怎么办?在线等待,谢谢各位的衷心帮助,很急的。

解决方案 »

  1.   

    按照你的要求,姓名文本框如果内容为空就出现提示信息的判断最好放在姓名文本框的Onexit事件中进行判断你说的出错的情况,应该是这个过程调用的问题,或者a的赋值不正确造成的,但从你给出的部分不能说明问题
      

  2.   

    老大,语法错的太多if a='' tehn ??应是if a='' then吧,
    application.messagebox('姓名内容不能为空,请输入');
    exit??应有“;”
      

  3.   

    to fyje(云中仙):但是要求是在定义的过程里先定义好,然后在窗体里直接调用既可使用(通过按钮),要不我把我做的这块给你传过去,你看一下就会明白我说的错误是指哪里了,麻烦你帮我改一下,谢谢:)
    to Chneixn1992(chenxin):你可真够仔细的了,不过说的都是没有实质性的问题,你的这个问题是应该注意,但是在程序里我是不会出现这个问题的,我这只是打的时候落掉了
      

  4.   

    to ptpa(古月西西) 
    能不能说的明白些儿,最好是用我的这个例子说一下,要将代码改成什么样子的,谢谢:)
      

  5.   

    你的a和b的值都是哪来的?
    把代码贴出来吧!
    就贴几个if 语句哪能看出来呢!
      

  6.   

    [email protected]
    小模块的代码发过来,帮忙测试一下
      

  7.   

    楼上的各位我在这里先谢谢了:)
    大概是我的问题描述的不是很清楚
    调用的过程的窗体里面包括button1,dbgrid1,edit1,edit2,a和b的值通过edit1和edit2来录入的,button1为添加按钮(就是用这个来调用定义的那个过程)
    procedure Tmb.insertfplx(mc:string,sl:string);
    begin
       //如果品牌内容没有输入那么出现提示信息显示相对应的内容
       if pp='' then
       begin
       application.MessageBox('品牌内容不能为空,请输入品牌!','提示信息');
       exit;
       end;
       try
       strtoint(pp);
       except
       end;
       mb.ADOCommand1.CommandText:='insert into Main_FPLX(名称,品牌)values(:mc,:pp)';
       mb.ADOCommand1.Parameters.ParamValues['mc']:=mc;
       mb.ADOCommand1.Parameters.ParamValues['pp']:=strtoint(pp);
       end;
    基本上就是这样的了,不知道这样说可以吗?
    to knock(天天睡觉):我把小模块给你发过去,你自己做个表(用SQL)运行一下你就会明白了,谢谢:)
      

  8.   

    呵呵,解决了就好
    之前加上个
    a=edit1。text
    应该就可以的