两帖一起结,分数累加,请答完的到
http://community.csdn.net/Expert/topic/4389/4389175.xml?temp=.8172876 领附加分1.Command是不是最好只用于数据操作啊,而且比Connection和Recordset的好处在于可以使用参数,这样理解对吗?2.Command可以用来SELECT,可Set rsTarget = cmd.Execute后,还有很多限制
限制:本教程将不使用参数化命令,因为需要使用 Command.Execute 方法以参数替代占位符‘?’,但该方法不允许指定 Recordset 游标类型和锁定选项(ADO2.1的参考手册)。
这样的话我连RecordCount都不能用了,我想问的是,Command返回记录集的功能是不是摆设,不是很实用的啊,Connection跟Recordset做的比它都好。3.当查询的时候,Set rs = Command.Execute(AffectedCount)执行完,怎么不能返回记录条数啊,而Call conn.Execute(sqlForExecute, affectedCount)就能返回

解决方案 »

  1.   

    4.Connection我还用关闭吗,我就让它一直开着,等到程序终止不可以吗
      

  2.   

    我没有用过你的什么Command
    我只是用connection,recordset
    给你个例子吧
    你试试这样做,引用ado 
        Dim Con As ADODB.Connection
        Dim rs As ADODB.Recordset
        Set Con = New ADODB.Connection
        strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\计划管理系统.mdb;Persist Security Info=False"
        Con.Open strCon
        Set rs = New ADODB.Recordset
        '添加记录
        strsql="select * from table"
        rs.Open strsql, Con, adOpenKeyset, adLockOptimistic      
        rs.addnew
           rs!字段1=text1.text
           rs!字段2=text2.text
           ........
        rs.update
        rs.close
        set rs=nothing
        '修改记录
        strsql="select * from table where id=1"
        rs.Open strsql, Con, adOpenKeyset, adLockOptimistic      
           rs!字段1=text1.text
           rs!字段2=text2.text
           ........
        rs.update
        rs.close
        set rs=nothing
            
        '删除记录
        strsql="delete from table where id=1"
        rs.Open strsql, Con, adOpenKeyset, adLockOptimistic      
           
      

  3.   

    TO: cuilei197979(风) "我没有用过你的什么Command"ADO 对象总结对象 说明 
    Connection 启用数据的交换。 
    Command 体现 SQL 语句。 
    Parameter 体现 SQL 语句参数。 
    Recordset 启用数据的定位和操作。 
    Field 体现 Recordset 对象列。 
    Error 体现连接错误。 
    Property 体现 ADO 对象特性。
      

  4.   


    1.Command是不是最好只用于数据操作啊,而且比Connection和Recordset的好处在于可以使用参数,这样理解对吗?
      >> 它只是执行某一个SQL语句,不用它还好,通过是通过  
               Connection.excute "你的SQL语句"
    2.Command可以用来SELECT,可Set rsTarget = cmd.Execute后,还有很多限制
    限制:本教程将不使用参数化命令,因为需要使用 Command.Execute 方法以参数替代占位符‘?’,但该方法不允许指定 Recordset 游标类型和锁定选项(ADO2.1的参考手册)。
    这样的话我连RecordCount都不能用了,我想问的是,Command返回记录集的功能是不是摆设,不是很实用的啊,Connection跟Recordset做的比它都好。
      >> 返回的记录集可以输出到 xxgird控件里
    3.当查询的时候,Set rs = Command.Execute(AffectedCount)执行完,怎么不能返回记录条数啊,而Call conn.Execute(sqlForExecute, affectedCount)就能返回
      >> 在执行前将Conn.CursorLocation = adUseClient  4.Connection我还用关闭吗,我就让它一直开着,等到程序终止不可以吗
      >> 在整个程序中可以定义为一个全局的,可以一直开着。经常 连接/关闭 耗资源