VB6 + Access可以对连接对象发SQL命令,如 Set rs=conn.Execute(SQLString)能不能直接对rs发SQL命令呢?

解决方案 »

  1.   

    当然可以呀
    如:set rs=conn.execute("select * from company")
    或 rs.open "select * from company",conn
      

  2.   

    strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\sss.mdb"         
    rsTemp.Open "Select * From table " strCnn , adOpenDynamic, adLockPessimistic
      

  3.   


     Dim adoCnn As New ADODB.Connection
     Dim adoCmm As New ADODB.Command
     Dim adoRec As New ADODB.Recordset adoCnn.CursorLocation = adUseClient
     adoCnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Program Files\Microsoft Visual Studio\VB98\NWIND.MDB;Persist Security Info=False" adoCmm.ActiveConnection = adoCnn
     adoCmm.CommandType = adCmdText
     adoCmm.CommandText = "select * from employees"
     Set adoRec = adoCmm.Execute
     
     Set DataGrid1.DataSource = adoRec
      

  4.   

    我个人认为还是这样比较好:工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)    Dim CN   As New ADODB.Connection                '定义数据库的连接
        Dim Rs   As New ADODB.Recordset    CN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\NWIND.MDB;Persist Security Info=False"
        CN.Open    Rs.CursorLocation = adUseClient
        Rs.Open "select * from employees", CN, adOpenDynamic, adLockBatchOptimistic
      

  5.   

    多谢多谢,是我的意思表达的不好,我这帖子真正想问的是,当使用RecordSet.Open SQLString以后,结果会送入记录集里,我还能不能对这个已经有了结果的记录集继续使用一个SQL命令,我想实现二次筛选。如:先把男生找出来,再把结果中大于12岁的找出来,这只是个例子,不许用多个条件一次查出来,因为我要把每次查询的结果都报告出来。行么?
      

  6.   

    那你可以做一次循环呀,对结果集进行筛选呀:  while not rs.EOF
            if rs!age>12 then
             .........
            end if
      wend
      

  7.   

    应该是这个意思把:select 姓名,性别,年龄 from (select 姓名,性别,年龄 from table where 性别=‘男’)  as aa where aa.年龄>12
      

  8.   

    当然可以拉
    for IndexAge =rs.RecordCount
      if rs!age>12 then
      '输出数据
       end if
     next