我将TQuery.SQL中负了一个TStringList的对象值;
然后执行TQuery.ExecSQL报错。我不知道是不是因为中只能执行一行SQL语句,多行就要出错?
如果,不是这样,我犯了什么错误?谢谢了!

解决方案 »

  1.   

    应该赋值到sql.text := 'sql 语句'
      

  2.   

    Query1.Close;
    Query1.SQL.Clear;
    Query1.SQL.Add('Delete from Country where Name = ''Argentina''');
    Query1.ExecSQL;这样时允许的吧。你的意思是说:要执行一批SQL语句,要用text属性?我看到帮助中这么写的:
    The SQL property may contain only one complete SQL statement at a time. In general, multiple 'batch' statements are not allowed unless a particular server supports them.是不是说,不可以一批一批的执行SQL语句。
    我是希望可以一次性insert多组数据到数据库中,可以提高数据库的操作速度。
    不知道有什么好的方法。谢谢了!
      

  3.   

    可以使用CachedUpdate属性。 即使用更新缓存当其维true时,每一次底insert只是插入在本地缓存中,你可以使用applyUpdate将缓存中的更新提交到数据库。这样只需要连一次数据库。
    当然这样也可能造成其他问题:比方说数据不一致。可以参看delphi帮助中 CachedUpdate 属性