'insert into UserInfo(UName,Usex)values(''张三'',''男'')';

解决方案 »

  1.   

    插入的时候,不要给他传值就可以了。默认就是NULL
      

  2.   

    如果是SQLServer
    在 INSERT 代码中,用 NullIf(FieldName, DateTime值) 保护你想要写入 Null 的字段,
    传入DateTime值,就会是Null了。
    其他系统请换成相似语句。
      

  3.   

    第二个方法:
    用SQL.Add拼SQL语句
    其中,:UDate为单独一行
    写成
    if NULL Then
      SQL.Add('NULL,')
    else
      SQL.Add(':UDate,');同理,ParamByName时
    if not NULL then
      ParamByName('UDate').Value:=DT值;这样也行,虽然稍麻烦一点,还是比写二个text简单,也比写二个text弹性。
      

  4.   

    Parameters.ParamByName('Udate').Clear;
      

  5.   

    插入的时候不赋值就是NULL了。或者直接给nil也是空。Delphi里面空值好像有两个null,nil  我也不是很清楚这两个的区别
      

  6.   

    Null 是数据为空值;
    nil 是指标为空值;
      

  7.   

    Parameters.ParamByName('Udate').Clear;