小弟我遇到个问题  请教高手们 表1 是部门计划   主题  课程  课时 
  有一个button实施                       培训  2     10
 表2空白表 是部门实施 有字段             主题  课程  课时 
控件用了是storedproc 名字是JIHUA_DAORU 主键是jihuaid
实施的代码是
begin
if(jihuaid>0)then
  begin
    with DatamodPersonClass.JIHUA_DAORU do
    begin
      close;
      params[0].AsInteger:=jihuaid;
      ExecProc;
      showmessage('实施导入完毕');
    end;
  end;end;
点实施就能把表1倒入表2里面 
可倒入不了表里面 也不报错  高手帮忙看看
用到了 table  datasource  DBgrid   不会发图原谅  帮忙啊  谢谢

解决方案 »

  1.   

    procedure TManTrainForm.RxDBGrid2CellClick(Column: TColumn);
    begin
        jihuaid:=RxDBGrid2.DataSource.DataSet.Fields[0].AsInteger;
    end;
      

  2.   

    procedure TManTrainForm.SpeedButton2Click(Sender: TObject);
    var
     id:integer;
    begin
      TrainRelater_2 := TTrainRelater_2.Create(Self);
      TrainRelater_2.RunDialogModal_2;
      TrainRelater_2.Free;
      id:=DatamodPersonClass.VCORPTRAINCOURSEREC_2Table.Fields[0].AsInteger;
      DatamodPersonClass.VCORPTRAINCOURSEREC_2Table.edit;
      DatamodPersonClass.VCORPTRAINCOURSEREC_2TablePERSON_TOTAL.asInteger :=  CurRecordCount;
      DatamodPersonClass.VCORPTRAINCOURSEREC_2Table.POST;
     with datamodpersonclass.CreatestaffTrain do
      begin
        params[0].AsInteger:=id;
        prepare;
        execproc;
        unprepare;
      end;
    end;
      

  3.   

    存储过程
       begin
        select count(VCORPTRAINCOURSEREC_ID)from VCORPTRAINCOURSEREC
           where  VCORPTRAINCOURSEREC_ID=:jihuaid into :VCORPTRAINCOURSEREC_ID;
        if(VCORPTRAINCOURSEREC_ID>0)then
        begin
             select  DEPARTMENTNOID,TRAINCLASS_NO,YEAR_NO,MONTH_NO,COURSE,OBJECTIVE,AUDIENCE,TRAIN_DATE,
                     DURATION,PLACE,METHODS,TRAINER,FOLACTION,PERSON_TOTAL,OVERDATE,COURCE_NO,KESHI,
                     BEIZHU,ZHUTI from VCORPTRAINCOURSEREC where VCORPTRAINCOURSEREC_ID=:jihuaid
                     into :DEPARTMENTNOID,:TRAINCLASS_NO,:YEAR_NO,:MONTH_NO,:COURSE,:OBJECTIVE,:AUDIENCE,:TRAIN_DATE,
                     :DURATION,:PLACE,:METHODS,:TRAINER,:FOLACTION,:PERSON_TOTAL,:OVERDATE,:COURCE_NO,:KESHI,
                     :BEIZHU,:ZHUTI;
             num=gen_id(VCORPTRAINCOURSEREC_2_gen,1);
             insert into VCORPTRAINCOURSEREC_2(VCORPTRAINCOURSEREC_ID,DEPARTMENTNOID,TRAINCLASS_NO,YEAR_NO,MONTH_NO,COURSE,OBJECTIVE,AUDIENCE,TRAIN_DATE,
                     DURATION,PLACE,METHODS,TRAINER,FOLACTION,PERSON_TOTAL,OVERDATE,COURCE_NO,KESHI,
                     BEIZHU,ZHUTI)
             values(:num,:DEPARTMENTNOID,:TRAINCLASS_NO,:YEAR_NO,:MONTH_NO,:COURSE,:OBJECTIVE,:AUDIENCE,:TRAIN_DATE,
                     :DURATION,:PLACE,:METHODS,:TRAINER,:FOLACTION,:PERSON_TOTAL,:OVERDATE,:COURCE_NO,:KESHI,
                     :BEIZHU,:ZHUTI);
        end
    end
     ^SET TERM ; ^
    COMMIT WORK;
    SET AUTODDL ON;