以下是我创建表的过程。
s:='m_'+inttostr(i)+'_use';
     str:='create tabel s (';
     str:=str+'airo'+'char(10)';
     str:=str+')';
     adoquery1.Close;
     adoquery1.SQL.Clear;
     adoquery1.SQL.Text:=str;
      adoquery1.Open;
     adoquery1.ExecSQL;
为什么老说我创建表有语法错误。我找不出来

解决方案 »

  1.   

    s:='m_'+inttostr(i)+'_use';
         str:='create tabel s (';
         str:=str+'airo'+'char(10)';
         str:=str+')';
         adoquery1.Close;
         adoquery1.SQL.Clear;
         adoquery1.SQL.Text:=str;
         adoquery1.ExecSQL;
    取掉      adoquery1.Open;
      

  2.   

    教你一个简单办法:在adoquery1.SQL.Text:=str; 后面加一句 ShowMessage(AdoQuery1.Sql.Text);看看你的SQL语句对不对。adoquery1.Open; //这一句用不着吧。
    adoquery1.ExecSQL;
      

  3.   

    另外:
    1.你的 s 没用
    2.你的airo后少空格:   s:='m_'+inttostr(i)+'_use';
         str:='create tabel '+s+' (';
         str:=str+'airo '+'char(10)';
         str:=str+')';...
      

  4.   

    s:='m_'+inttostr(i)+'_use';
         str:='create tabel ' + s + ' (';
         str:=str+'airo'+' char(10)';
         str:=str+')';
         adoquery1.Close;
         adoquery1.SQL.Clear;
         adoquery1.SQL.Text:=str;
         adoquery1.ExecSQL;
    只要ExecSQL就行了,Open是有返回结果的时候才用的,比如Select
      

  5.   

    我去掉了open的,但是错误还是一样
      

  6.   

    将你的SQL语句保存到文件中,在查询分析器里执行一下看看行不行
    adoquery.sql.savetofile('aa.txt');