1:
sqlstr:='insert into 你的表(field1,field2) value(value1,value2...)';
2:
sqlstr:='insert into 你的表 select * from 另外同数据库的表 where 过滤';

解决方案 »

  1.   

    我向来是用 Query1.SQL.Clear 和Query1.SQL.Add( SQLText )的.
      

  2.   

    兄弟们,对不起,我后来发现,应该是我的SQL语句太长了!
    我将SQL简化了一点(只为测试),一切正常,但我不想改成调用
    sqlserver的存储过程,不知该如何解决,拆开也不行,分行添加
    我试了,我的SQL长度为484个字符!跟关健字没关系了!
      

  3.   


    我试了一下,没问题。Query1.close;
    Query1.SQL.Clear;
    Query1.SQL.Add('insert [order] (f1) values (''019'')');
    Query1.ExecSQL;要不,就是你输入时全角半角的原因吧!
      

  4.   

    全角半角应该不是,我直接在SQL SERVER 中执行!
      

  5.   

    这位兄台,前些日子我做些工作是:
    把InterBase的存储过程改为Query的SQL语句去用。
    碰到的有你这个问题。
    这是SQL Server的语句与Delphi的Query SQL不同的原因,
    我在Query里用SQL语句建立关键字,
    在InterBase里就行,在Query SQL里死活不行,
    其实那是格式的问题,试着改改吧!
      

  6.   

    order 应该加引号才对:
    Query1.Close;
    Query1.SQL.Clear;
    Query1.SQL.Add('insert into ''order'' (order_id) values (''3980392'')');
    Query1.ExecSQL;