我要写个程序,可以产生批量的数据,并且程序运行后能直接写入数据库(sql sever2000)。请问有哪位有好的例子让小弟参考!感谢了!

解决方案 »

  1.   

    产生数据的同时也生成insert类型的sql脚本累加放入一个string变量,sql语句之间用分号隔开,然后运行后用adoconnection统一用事务执行
      

  2.   

    程序中组合这样的SQL
    INSERT INTO 表(字段1,字段2)
    select 'AAA','AAA' union all
    select 'BBB','BBB' union all
    select 'CCC','CCC'
      

  3.   

    也可以用TIMER控件可以显示你一条条导入的结果的,而且数度自己可以设置
    procedure TForm1.Timer1Timer(Sender: TObject);
    try
      DataModule2.DataSource2.DataSet.Insert;
      DataModule2.DataSource1.DataSet.Next;//////////此句最为关键
      if DataModule2.DataSource1.DataSet.Eof = True then  timer1.Enabled := false  ;
      if DataModule2.DataSource1.DataSet.Eof = True then ShowMessage('数据以导入成功:');
    except
      MessageBox(0,'数据导入失败','错误',MB_OK);
    end;要例子:CALL ME
      

  4.   

    我说的是程序运行后数据直接在sql中了的例子。
      

  5.   

    1: 可用以下格式:
    bengin
    insert into ACCOUNTTYPE (l_accountset, L_ACCOTYPE, VC_ATNAME)
           values (-1, 1, 'AA类');
    insert into ACCOUNTTYPE (l_accountset, L_ACCOTYPE, VC_ATNAME)
           values (-1, 2, 'BB类');
    insert into ACCOUNTTYPE (l_accountset, L_ACCOTYPE, VC_ATNAME)
           values (-1, 3, 'CC类');
    insert into ACCOUNTTYPE (l_accountset, L_ACCOTYPE, VC_ATNAME)
           values (-1, 4, 'DD类');
    commit;
    end;
      

  6.   

    直接用SQL语句执行循环插入操作
    for i :=0 to 100 do
    begin
      adoquery1.close;
      adoquery1.clear;
      adoquery1.sql.add('insert into .....');
      adoquery.ExecSQL;
    end;