请问在INSERT 时,如果增添了条记录,这样是不允许的,那么错误处理应该怎么写
不用错误,怎么能在我按’保存‘按纽的时候,提示用户不能插入空记录呢?

解决方案 »

  1.   

    用TABLE.APPEND
    ...
    TABLE.POST
      

  2.   

    if Edit1.Text = '' then ShowMesage('IsNull') ; //Edit1 录入主键
      

  3.   

    if Edit1.Text = '' then ShowMesage('IsNull')  //Edit1 录入主键
    else  Post ;
      

  4.   

    to cg1120(代码最优化-§帮助那些值得帮助的人§) :用TABLE.APPEND仍然不能检测出加入的是空记录 
    to  wjlsmail(计算机质子):Edit很多的情况下,你认为这种做法科学 吗?
      

  5.   

    to wjlsmail(计算机质子):何况了,edit是动态和数据库连着的,还得去判断哪个edit是主键,
      

  6.   

    你的 DBEdit 难道没有和字段绑定 ? 如果绑定又怎么能不知道 Name ?
      

  7.   

    就是使用 Edit 来输入数据也要指定某一个用来录入主键 ,怎么可能不知道名字 ?
      

  8.   

    我绑定了,但是是动态的,就是说dbedit的datasource定了,但是每一个edit又是当query变了后,对应给它的datafield,所以按你的办法,还要判断哪个是主 键,不是很麻烦?
    还有,怎么判断表是空表,里面没有记录
      

  9.   

    Open ;
    RecordCount = 0
      

  10.   

    就你在点击“保存时”可以知道哪个Edit 绑定到了主键,于是就可以判断
      

  11.   

    FieldByName('KeyFieldName').AsString := Edit1.Text ; // Edit1 绑定到主键 ;
      

  12.   

    我想你不太明白我想说什么,做什么,KeyFieldName这个字段不可能得到,因为我不知道这张表里关键字段名,表是变化的
      

  13.   

    to wjlsmail(计算机质子) :很感谢你的帮忙,我想我可能没理解你的用意,不过怎么说,我真的十分感谢你,想请问你,这个用try...except 错误处理怎么实现,即用错误处理判断主键为空?
      

  14.   

    try
      query1.post;
    except
      showmessage('error');
      query1.cancel;
    end;
      

  15.   

    if tablename.eof and tablename.bof then
       biao 表为空
    else
       表不空
    end if
      

  16.   

    我不太会用错误处理,截获错误也不太会又,能否指点明白,谢谢,那些错误代码该怎么用?
    to  计算机质子:能和你做个朋友吗?是的话留下QQ或E_MAIL好吗?
      

  17.   

    if Trim(Edit1.Text)  =  '' then ShowMessage('不能空!');
    try
      插入操作代码
    except
      ShowMessage('不能空!');
    end;