我现在建立一个Access数据库,其中一个表User,有两个字段:Name和Number,它们都是文本类型,必填字段且允许为空;但是我在使用下面语句插入数据时会出错:  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('insert into User(Name, Number) values(:Name1, :Number1)');
  ADOQuery1.Parameters.ParamByName('Name1').Value := '';//这里出错,好像不允许插入非空字符
  ADOQuery1.Parameters.ParamByName('Number1').Value := '13124355645';
  ADOQuery1.Open;

解决方案 »

  1.   

    ADOQuery1.Parameters.ParamByName('Name1').Value := '';//这里出错,好像不允许插
    上面这句改为:
    ADOQuery1.Parameters.ParamByName('Name1').Value := ' ';
      

  2.   

    個人覺得有兩點不對的地方:
    一、加入AdoQuery1.Close;
    二、後面的AdoQuery1.Open改為ADoQuery1.ExecSQL;
      

  3.   

    我现在问题主要是如何向Access插入空字段,语句是随便写的
      

  4.   

    最简单的方法 把access 的相应字段设置成允许空值插入
    最好不要插入一个空格
    还有一种方法就是程序中加入判断,如果是空值这个字段就不插入access
      

  5.   

    ADOQuery1.SQL.Clear;
      ADOQuery1.SQL.Add('insert into User(Name, Number) values('''','''')');
      ADOQuery1.ExecSQL;