你这样改改ParamByName('times').AsString := '' ;

解决方案 »

  1.   

    对了,那边有点错误,name为datetime类型
    我原来也想用ParamByName('times').AsString := '' ,可出错
      

  2.   

    或者ParamByName('times').value:=null试试
      

  3.   

    呵呵,你这是从哪里看来的Delphi语法?
      

  4.   

    ParamByName('times').AsString := '' ; 
      

  5.   

     into Test(number,name)');
     Sql.Add('values(:no,:times)');
    name 和 times根本对不上
      

  6.   

    抱歉,那边写错了,该为:
    with query1 do
      begin
        close;
        Sql.Clear;
        Sql.Add('insert into Test(number,times)');
        Sql.Add('values(:no,:times)');
        ParamByName('no').AsString:='1';
        ParamByName('times').Clear;
        ExecSql;
      end;
    times域为Datetime类型
      

  7.   

    将times字段设置成可以为空
    试试!
      

  8.   

    试一下
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    with query1 do
      begin
        close;
        Sql.Clear;
        Sql.Add('insert into Test(number,times)');
        Sql.Add('values(:no,:times)');
        ParamByName('no').AsString:='1';
        ParamByName('times').DataType := ftDateTime;
        ParamByName('times').Value :=null;
        ExecSql;
      end;end;