本人在学习 VB的过程中遇到了一点困难,请哪位高手指点一二??
ExecuteSQL(a,b) 这个函数怎么用?
a,b是两个参数,他们都各代表什么呀??
终于找到了,
呵呵,两位都是高手哦,
说得都对
多谢啦~~~~~~~,可是还有一个小小的问题,源代码如下, 好象有错误,两为再帮偶看看呗???
Public Function ExecuteSQL(ByVal SQL _
As String, MsgString As String) _
As ADODB.Recordset
'executes SQL and returns Recordset
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sTokens() As String
On Error GoTo ExecuteSQL_Error
sTokens = Split(SQL)
Set cnn = New ADODB.Connection
cnn.Open ConnectString
If InStr("INSERT,DELETE,UPDATE", _
UCase$(sTokens(0))) Then
cnn.Execute SQL
MsgString = sTokens(0) & _
" query successful"
Else
Set rst = New ADODB.Recordset
rst.Open Trim$(SQL), cnn, _
adOpenKeyset, _
adLockOptimistic
'rst.MoveLast 'get RecordCount
Set ExecuteSQL = rst
MsgString = "查询到" & rst.RecordCount & _
" 条记录 "
End If
ExecuteSQL_Exit:
Set rst = Nothing
Set cnn = Nothing
Exit Function
ExecuteSQL_Error:
MsgString = "查询错误: " & _
Err.Description
Resume ExecuteSQL_Exit
End Function
没办法,自己实在是调不出来
自己再顶一下,各位帮忙再看一下!
没有问题啊,上面的意思是这样的
SQL :是你要执行的语句啊
msgstring:是在执行没有记录集返回时返回的成功信息的,调用时用一个变量传过来,是地址传递的
最后返回结果是一个记录集啊。
Dim strSql As String
Dim strmsg As String
Dim rs As New ADODB.Recordset
strSql = "select * from test"
Set rs = ExecuteSQL(strSql, strmsg)
。
因为以上代码里有这句
Set cnn = New ADODB.Connection
cnn.Open ConnectString
ConnectString这个东西应该是个全局变量保存着连接字符串,否则会出错的,可以修改一下传入连接就好了,也可以屏掉
恩 ,ConnectionString 倒是有,这我明白,
cnn.Execute SQL 这句不太理解
还有结实 在定义 记录集对象的时候 关键字 NEW 有何用处呢??
恩恩,明白喽
NEW 的作用 不就是跟 JAVA 里的 一样用处嘛,懂了
最后还有一个问题就是
Set ExecuteSQL = rst
与
Set ExecuteSQL() = rst
的作用是不是一样呢??