设计一个ACCESS数据库。现在想通过程序自动想A表中插入10万条任一数据。
数据表里没有主键。类型都是文本型
下面的SQL语句哪里有错。请指出。
var
     i,j : integer;
     str: string;
begin
 for i:= 1 to 100000 do
 begin
  str := 'insert   into  A  (A,A,A,A,A,A,A,A,A,A,A,A,A)';
 with  AdoQuery1 do
   begin
    sql.Clear;
    sql.Add(str);
    ExecSQL
   end;

解决方案 »

  1.   

    str := 'insert   into  A  (A,A,A,A,A,A,A,A,A,A,A,A,A)';什么东西啊,不对!
      

  2.   

    我的想法是在A表中插入10条数据,str := 'insert   into  A (数据表名) (A,A,A,A,A,A,A,A,A,A,A,A,A(任一的值))';。我也知道不对。可错在哪呢。
    谢谢指教
      

  3.   

    insert A(field1,field2,...你要插入的字段) values('a','b','c','d',..字段对应的值)
    按这种格式去写啊!
      

  4.   

    你那些字段的名字有没有规则的啊,有的话可以写个循环把他们以
    A1,A2,A3..的格式串起来
      

  5.   

    insert A(field1,field2,...你要插入的字段)(select field1,field2,... from B)
      

  6.   

    例如你的字段名是A1,A2,A3...这样的东西,你可以
    fields := ''
    fvalues := ''
    for i := 1 to 100 do
    begin
      fiels := fiels+'A'+IntToStr+','
      fvalues := fvalues + 随机字符 +',';
    end;
    str := 'Insert into('+copy(fields,1,length(fields)-1)+') values('+
    copy(fields,1,length(fvalues)-1)+')'再执行str
      

  7.   

    chenzhuo(睡到自然醒)老兄给的建议已经很好了。如果各个字段根本没有规律,只能用笨的方法了,把100个字段都列出来,不过不太明白为什么你要这么操作,有什么用途,能说一下么??
      

  8.   

    你不是说全是文本型吗将此句:
    str := 'insert   into  A  (A,A,A,A,A,A,A,A,A,A,A,A,A)';
    改为:
    str := 'insert   into  A  ('A','A','A','A','A','A','A','A','A','A','A','A','A')';
    试试
      

  9.   

    谢谢各位。问题已解决
    将str := 'insert   into  A  (A,A,A,A,A,A,A,A,A,A,A,A,A)'
    改为str := 'insert   into  A  (''A'',''A'',......,''A'')'就可以了呵呵。
    做这个是领导要求先插入10万条数据,然后测试一下检索的速度。