我现在建立一个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;
ADOQuery1.SQL.Add('insert into User(Name, Number) values(:Name1, :Number1)');
ADOQuery1.Parameters.ParamByName('Name1').Value := '';//这里出错,好像不允许插入非空字符
ADOQuery1.Parameters.ParamByName('Number1').Value := '13124355645';
ADOQuery1.Open;
上面这句改为:
ADOQuery1.Parameters.ParamByName('Name1').Value := ' ';
一、加入AdoQuery1.Close;
二、後面的AdoQuery1.Open改為ADoQuery1.ExecSQL;
最好不要插入一个空格
还有一种方法就是程序中加入判断,如果是空值这个字段就不插入access
ADOQuery1.SQL.Add('insert into User(Name, Number) values('''','''')');
ADOQuery1.ExecSQL;