Public Function ExeSql(sql As String) As ADODB.Recordset
    '如果用户不要求返回值,则使用cnn.Execute sql
    '如果用户要求返回值,则使用Recordset.Open返回一个Recordset
End FunctionExeSql函数如何判断set rst=ExeSql(sql) 和 ExeSql sql 这两种情况?

解决方案 »

  1.   

    Public Function ExeSql(sql As String,pNeedReturn as boolean) As ADODB.Recordsetif pNeedReturn=trueelseend if
      

  2.   

    或者這樣:Public Function ExeSql(sql As String) As ADODB.Recordsetif left(ucase(trim(sql)),6)="SELECT" then
    set rst=ExeSql(sql)
    else
    set rst=ExeSql(sql)
    end if
      

  3.   

    錯了一個地方:不好意思Public Function ExeSql(sql As String) As ADODB.Recordsetif left(ucase(trim(sql)),6)="SELECT" then
    set rst=ExeSql(sql)
    else
    ExeSql sql 
    end if
      

  4.   

    Execute 也可以返回结果集阿Public Function ExeSql(sql As String,optionla byref returrs as ADODB.Recordset) 
    end function如果要返回就
    exesql(sql,rs)
    否则
    exesql(sql)
      

  5.   

    蓝天白云,我就是不想每次ExeSql(sql)的时候还要带个needreturn的尾巴,才提出这个问题的,我目前就是用分析sql语句来判断是否返回的。感谢三位的回复。