with adoquery1 do
       begin
      Close;
      SQL.Clear;
      SQL.add('update  经手人信息表 set 经手人姓名 = :d2,经手人身份证号 = :d3 ');
      sql.add('where 经手人编号 in (select max(经手人编号) from 经手人信息表)');
      Parameters.ParamByName('d2').Value :=Trim(edit21.Text );
      Parameters.ParamByName('d3').Value :=Trim(edit22.Text );
      ExecSQL;类似这样的语句,我如何能同时插入空记录呢,也就是说 当edit21.Text 没内容时,相当于执行的SQL语句是 UPDATE A表 set 经手人姓名 = '' 

解决方案 »

  1.   

    不是吧,没有人回答我?我就想用代码实现 更新记录,如果文本框是空的,就更新成NULL记录,具体该怎么写的?没有人遇到过?不可能吧。
      

  2.   

    我在表里也设置了。我用的是ACCESS,字段默认值为NULL,而且也不是必填字段。
    但是还是提示错误。提示此字段不能是零长度的字符串。
      

  3.   

    “只能写代码判断”指的是,我要判断每个EDIT框是否为空吗?如果为空的话,执行
    Parameters.ParamByName('d3').Value :='NULL';
    不为空的话,执行
    Parameters.ParamByName('d3').Value :=Trim(edit22.Text );类似这样的意思?天呀。太多太多EDIT框了。
      

  4.   


      if isnull(Trim(edit22.Text ))=true then
          bb:=null
      else
          bb:=Trim(edit22.Text );
      Parameters.ParamByName('d3').Value :=bb;
      

  5.   

    谢谢楼上的各位了。我有上百个EDIT框呢,是不是只能一条一条先判断再弄了。
    好在EDIT框是按顺序的,从EDIT1-EDIT100。有没有什么好的思路?感觉这样的重复代码太多太多了。请大家再给肯定一下,如果没有好的方法,我就要写上百条这样的重复代码了。
      

  6.   

    我有上百个EDIT框呢,是不是只能一条一条先判断再弄了?