procedure TInsert.RzButton2Click(Sender: TObject);
begin
try
with data1.QIInsert do
 begin
 close;
 sql.Clear;
 sql.Add('insert information values (:Sampleid,:Model,:workdata,:shift,:line,:parts,:fault,:grade,:aduit)');
parameters.ParamByName('Sampleid').Value:=(RzEdit1.Text);
parameters.ParamByName('Model').Value:=trim(RzEdit2.Text);
parameters.ParamByName('workdata').Value:=workdata.Date;
parameters.ParamByName('shift').Value:=trim(RzComboBox1.Text);
parameters.ParamByName('line').Value:=trim(RzComboBox2.Text);
parameters.ParamByName('parts').Value:=trim(parts.Text);
parameters.ParamByName('fault').Value:=trim(RzComboBox5.Text);
parameters.ParamByName('grade').Value:=trim(RzComboBox6.Text);
parameters.ParamByName('aduit').Value:=trim(RzComboBox3.Text);
 end;
 application.MessageBox('插入成功','提示',64);
 except
 application.MessageBox('系统出错','提示',64);
 end;end;end.
编译通过,提交后,出现插入成功,但是打开数据库,却发现数据没有真正插入进来,为什么?请解答,谢谢!!!

解决方案 »

  1.   

    //要保存post;
    procedure TInsert.RzButton2Click(Sender: TObject);
    begin
      try
      with data1.QIInsert do
      begin
        close;
        sql.Clear;
        sql.Add('insert information values (:Sampleid,:Model,:workdata,:shift,:line,:parts,:fault,:grade,:aduit)');
          parameters.ParamByName('Sampleid').Value:=(RzEdit1.Text);
          parameters.ParamByName('Model').Value:=trim(RzEdit2.Text);
          parameters.ParamByName('workdata').Value:=workdata.Date;
          parameters.ParamByName('shift').Value:=trim(RzComboBox1.Text);
          parameters.ParamByName('line').Value:=trim(RzComboBox2.Text);
          parameters.ParamByName('parts').Value:=trim(parts.Text);
          parameters.ParamByName('fault').Value:=trim(RzComboBox5.Text);
          parameters.ParamByName('grade').Value:=trim(RzComboBox6.Text);
          parameters.ParamByName('aduit').Value:=trim(RzComboBox3.Text);
        post;//要保存
      end;
        application.MessageBox('插入成功','提示',64);
      except
        application.MessageBox('系统出错','提示',64);
      end;end;
      

  2.   

    你没有执行
    procedure TInsert.RzButton2Click(Sender: TObject);
    begin
    try
    with data1.QIInsert do
     begin
     close;
     sql.Clear;
     sql.Add('insert information values (:Sampleid,:Model,:workdata,:shift,:line,:parts,:fault,:grade,:aduit)');
    parameters.ParamByName('Sampleid').Value:=(RzEdit1.Text);
    parameters.ParamByName('Model').Value:=trim(RzEdit2.Text);
    parameters.ParamByName('workdata').Value:=workdata.Date;
    parameters.ParamByName('shift').Value:=trim(RzComboBox1.Text);
    parameters.ParamByName('line').Value:=trim(RzComboBox2.Text);
    parameters.ParamByName('parts').Value:=trim(parts.Text);
    parameters.ParamByName('fault').Value:=trim(RzComboBox5.Text);
    parameters.ParamByName('grade').Value:=trim(RzComboBox6.Text);
    parameters.ParamByName('aduit').Value:=trim(RzComboBox3.Text);
    ExecSQL;//加上这一句
     end;
     application.MessageBox('插入成功','提示',64);
     except
     application.MessageBox('系统出错','提示',64);
     end;end;end.
      

  3.   

    谢谢你的提示。加了POST。
    编译通过,但是插入时系统报错。
      

  4.   

    ExecSQL;//加上这一句,编译通过,报错,说有要加 insert in to   还要改字段……
      

  5.   

    呵呵`~NND`~`是要ExecSQL执行的~~`procedure TInsert.RzButton2Click(Sender: TObject);
    begin
    try
    with data1.QIInsert do
     begin
     close;
     sql.Clear;
     sql.Add('insert into information (Sampleid,Model,workdata,shift,line,parts,fault,grade,aduit) values //这里还要加字段(:Sampleid,:Model,:workdata,:shift,:line,:parts,:fault,:grade,:aduit)');
    parameters.ParamByName('Sampleid').Value:=(RzEdit1.Text);
    parameters.ParamByName('Model').Value:=trim(RzEdit2.Text);
    parameters.ParamByName('workdata').Value:=workdata.Date;
    parameters.ParamByName('shift').Value:=trim(RzComboBox1.Text);
    parameters.ParamByName('line').Value:=trim(RzComboBox2.Text);
    parameters.ParamByName('parts').Value:=trim(parts.Text);
    parameters.ParamByName('fault').Value:=trim(RzComboBox5.Text);
    parameters.ParamByName('grade').Value:=trim(RzComboBox6.Text);
    parameters.ParamByName('aduit').Value:=trim(RzComboBox3.Text);
    ExecSQL;//加上这一句
     end;
     application.MessageBox('插入成功','提示',64);
     except
     application.MessageBox('系统出错','提示',64);
     end;end;end.
      

  6.   

    ExecSQL;//加上这一句,编译通过,报错:“查询值的数目与目标字段中的数目不同”是不是数据库的字段属性设置有问题???
      

  7.   

    ExecSQL;//是要加这句!Post是在打开表后的直接编辑的保存,你这里是没有事先打开表啊!如果报错,有可能是这句的问题:
    parameters.ParamByName('workdata').Value:=workdata.Date;要进行转化成字符型再插入比较好!parameters.ParamByName('workdata').Value:=DateTimeToString(workdata.Date);
    //如果workdata字段是字符型,那就要进行如上的转化
      

  8.   

    parameters.ParamByName('workdata').Value:=DateTimeToString(workdata.Date);
    编译通过不了。 要怎么改?
      

  9.   

    parameters.ParamByName('workdata').Value:=DateTimeToString(workdata.Date);workdata 为 DateTimePicker 组件。