问题如上

解决方案 »

  1.   

    open执行后可以查看执行的结果,或取出来数据
    而SQLEXECUTE一般则不可以;
      

  2.   

    如果sql 语句执行后没有返回记录集,最好是用Execute执行,这样效率会很高,虽然生成sql语句会比较麻烦,但相对于效率来说是值得的。如:insert,update,delete语句等,如果sql 语句返回有记录集的,那只能用Recordset对象来执行SQL命令,如select语句
      

  3.   

    CRecordset::Open(..)用来取回一个结果集;
    CDatabase::SQLExecute(..)执行一条SQL语句或存储过程,完成一个功能操作,并且不返回结果集
      

  4.   

    CDatabase::SQLExecute(..)只不过是完成对数据库的操作,结果不能再程序中显示
    CRecordset::Open(..)可以返回一个结果集,用来在程序中显示,编辑