源程序是:
sql1:='select avg(pprice) as jan, pclass into ktet.dbo.avgg from ktet.dbo.psale200601 where pclass=(select pclass from ktet.dbo.classpro where classname=''窗式'') group by pclass';
form1.Query1.Close;
form1.Query1.SQL.Clear;
form1.Query1.SQL.Add(sql1);
form1.Query1.Prepare;
form1.Query1.ExecSQL;执行时出现问题:
invalid use of keyword. token: into 我没错用保留字啊?这到底是什么问题?着急啊!!!!

解决方案 »

  1.   

    ktet.dbo.avgg  这个表已存在?
      

  2.   

    从错误来看就是into新表的问题,如果表不存在的话理论上就没有问题了啊
    把form1.Query1.Prepare;去掉再试试
      

  3.   

    要么就是不能把新表建到另外一个数据库,
    你把前面的数据库名去掉试试(包括dbo),如果在本库能行的话,就是上面说的了
      

  4.   

    into 子名将产生与原表一样的结构,只能用*,而你包括了选择了列中并包括了一个生成列
      

  5.   

    這樣的問題我遇到過
    解決辦法是 
    把直接在SQL語句裏賦值的 都改用參數 
    比如你的 where classname=''窗式'' 改成
    where classname=:classname
    parameter.parambyname('classname').value:=''窗式'' ;
    應該可以解決
      

  6.   

    你用的是BDE连接,如果数据库不是SQL Server则本地SQL不支持 Into 子句
      

  7.   

    sql1:='select avg(pprice) as jan, pclass into ktet.dbo.avgg from ktet.dbo.psale200601 where pclass=(select pclass from ktet.dbo.classpro where classname='+'''窗式'''+') group by pclass';