ExeSQL可以返回一个记录集,而open不行

解决方案 »

  1.   

    Query1.open和Query1.Active:=True实际上是一回事,而Query1.ExecSQL则不同,Query1.ExecSQL只是执行query的sql里的语句,并不返回一个cursor(也就是说并不open一个query),而open则要返回。
      

  2.   

    Query1.open和Query1.Active:=True是一样的会返回结果,适用于SELECT的执行。
    Query1.ExecSQL不返回结果,适用于updata或DELETE等不需要返回结果的的SQL语句的执行
      

  3.   

    TonyJoule(寒星㊣) 同志是不是弄反了?
      

  4.   

    query1.open比query1.active:=true少了12个符号或字母,但好象使用上没有多大区别
      

  5.   

    Query1.open和Query1.Active:=True是一样的 
    query1.open需要返回cursor,只用在select,而execsql是用在除select 外的其他sql语句的执行
      

  6.   

    open和active一样的。
    对于open和execsql的区别是:open要求返回一个结果集,而execsql则不用。例如select必须要用open,而update、insert、create这些不用返回记录的语句必须用execsql。
      

  7.   

    Query1.open和Query1.Active:=True实际上是一回事,而Query1.ExecSQL则不同
    Query1.ExecSQL是执行SQL语句,一般使用于delete,update,一般不与显示数据控件挂钩 如果用select * from table1 用Query1.ExecSQL是执行SQL语句的话,不能返回结果集