本人运行程序后得到的是二维数组 想把它保存在数据库的一个表中 该怎么办啊    for t:=1 to 24 do
   begin
   query1.close;
   query1.sql.text:='insert into chuli2 values('t','P_Gbest[t,1]','P_Gbest[t,2]','P_Gbest[t,3]','P_Gbest   [t,4]','P_Gbest[t,5]','P_Gbest[t,6]','P_Gbest[t,7]','P_Gbest[t,8]','P_Gbest[t,9]','P_Gbest[t,10]',shiduan ,unit1,unit2,unit3,unit4,unit5,unit6,unit7,unit8,unit9,unit10)';
   query1.execsql;
end;
  
     P_Gbest[t,1]   P_Gbest[t,2]。。 。。为二维数组
运行时出现错误:
      Missing operator or semicolon
 insert 中能使用数组变量吗 ?球高手解答

解决方案 »

  1.   

    P_Gbest[t,1]如果是整数,需要先转为字符串
    如果对应的字段类型是字符串或日期,还需要quotestr(P_Gbest[t,1])后才能加入sql
      

  2.   

    不能直接使用数组变量,'P_Gbest[t,1]'这么写不行,数组是什么类型要和字段对上,否则要转换
      

  3.   

    楼主不是学php的吧。delphi 字符串连接能这样吗?query1.sql.text:='insert into chuli2 values(''' + t + ''',''' + P_Gbest[t,1] + ''',''' + P_Gbe...................
      

  4.   

      
    我那些数据全是整形的
     也就是说要先把整形的值赋给一个字符变量 如 
     time:=inttostr(t);

     
    然后再query1.sql.text:='insert into chuli2 values(''' + time + ''',...................
      
    我先试试 先谢谢大侠们啦
      

  5.   

     query1.close;
         query1.sql.clear;
         query1.sql.text:='insert into output values(''+tim+'',''+output1+'',''+output1+'',''+output1+'',''+output1+'',''+output1+'',''+output1+'',''+output1+'',''+output1+'',''+output1+'',''+output1+'',shiduan ,unit1,unit2,unit3,unit4,unit5,unit6,unit7,unit8,unit9,unit10)';
         query1.execsql;
      错误:
    字段定义语法错误!!!!!
    why
    whywhy
    whywhywhy
      

  6.   

    query1.sql.text:='insert into chuli2 values(''' + t + ''',''' + P_Gbest[t,1] + ''',''' + P_Gbe...................
    看看啊,少了个点
      

  7.   

    字符串长看着眼花。我喜欢这样
    ADOQuery1.SQL.Text := 'select * from CONFIGS where CFGKEY=''' + AKey + '''';
    ADOQuery1.Open;
    if ADOQuery1.RecordCount = 0 then ADOQuery1.Append
    else ADOQuery1.Edit;
    ADOQuery1.FieldValues['CFGKEY'] := AKey;
    ADOQuery1.FieldValues['CFGVALUE'] := AData.HtGet(AKey);
    ADOQuery1.Post;
      

  8.   


    query1.sql.text:='insert into  chuli values('+inttostr(t)+','+inttostr(P_Pbest[t,1])+','+inttostr(P_Pbest[t,2])+','+inttostr(P_Pbest[t,3])+','+inttostr(P_Pbest[t,4])+','+inttostr(P_Pbest[t,5])+','+inttostr(P_Pbest[t,6])+','+inttostr(P_Pbest[t,7])+','+inttostr(P_Pbest[t,8])+','+inttostr(P_Pbest[t,9])+','+inttostr(P_Pbest[t,10])+',shiduan ,unit1,unit2,unit3,unit4,unit5,unit6,unit7,unit8,unit9,unit10)';
      还是不对呢   参数不对 期待值是11.
     表 chuli 都为字符型  换整数型也不对  为啥呢 呀呀呀呀呀呀
      

  9.   

    你能告诉我shiduan ,unit1,unit2,unit3,unit4,unit5,unit6,unit7,unit8,unit9,unit10这些东西是什么吗?是固定的字符串?如果是的话将你的语句改成如下
    query1.sql.text:='insert into chuli values('+QuotedStr(inttostr((t))+','+
    QuotedStr(inttostr((P_Pbest[t,1]))+','+QuotedStr(inttostr((P_Pbest[t,2]))+','+
    QuotedStr(inttostr((P_Pbest[t,3]))+','+QuotedStr(inttostr((P_Pbest[t,4]))+','+
    QuotedStr(inttostr((P_Pbest[t,5]))+','+QuotedStr(inttostr((P_Pbest[t,6]))+','+
    QuotedStr(inttostr((P_Pbest[t,7]))+','+QuotedStr(inttostr((P_Pbest[t,8]))+','+
    QuotedStr(inttostr((P_Pbest[t,9]))+','+QuotedStr(inttostr((P_Pbest[t,10]))+
    ',''shiduan'' ,''unit1'',''unit2'',''unit3'',''unit4'',''unit5'',''unit6'',''unit7'',''unit8'',''unit9'',''unit10'')';