sql中只有一个主码并且不为空,其它都是可以为空的 可是在delphi进行新增操作时,输入一个数据,即主码 不为空的 ,点击确定 报错class EVariantInvalidArgError with message'Invalid argument'.想不通我初学者

解决方案 »

  1.   

    procedure TAddInfoMaterial.BitBtn1Click(Sender: TObject);
    begin
      Form1.ADOTable1.Append();
      Form1.ADOTable1.FieldValues['材料编号']:=Edit1.Text;
      Form1.ADOTable1.FieldValues['材料名称']:=Edit2.Text;
      Form1.ADOTable1.FieldValues['价格']:=Edit3.Text;end;procedure TAddInfoMaterial.FormShow(Sender: TObject);
    begin
       Edit1.Text :='';
       Edit2.Text :='';
       Edit3.Text :='';
    end;
      

  2.   

    用fieldbyname().asstring 这样的比较好
    或者直接用appendrecord();
      

  3.   

    你的主键设置的那个字段(材料编码?)字段类型,Form1.ADOTable1.FieldValues['材料编号']进行强制转换时,如果字段类型不匹配会报错的。