Public Function TransactSQL(ByVal sql As String) As ADODB.RecordsetDim con As ADODB.ConnectionDim rs As ADODB.RecordsetDim strConnection As StringDim strArray() As StringSet con = New ADODB.ConnectionSet rs = New ADODB.RecordsetOn Error GoTo TransactSQL_Error strConnection = "provider=Microsoft.Jet.OLEDB.4.0;Data source =" & App.Path & "\table.mdb" strArray = Split(sql) con.Open strConnection If StrComp(UCase$(strArray(0)), "select", vbTextCompare) = 0 Then rs.Open Trim$(sql), con, adOpenKeyset, adLockOptimistic Set TransactSQL = rs iflag = 1 Else con.Execute sql iflag = 1 End IfTransactSQL_Exit: Set rs = Nothing Set con = Nothing Exit Function TransactSQL_Error: MsgBox "²éѯ´íÎó£º" & Err.Description iflag = 2 Resume TransactSQL_Exit End Function不懂数据库,完全不懂这是干什么,就是每次改了数据库的内容的地方就会有调用到它,我只需要大致了解一下意思 当然都注释一下最好勒``呵呵!谢谢勒``
字串4
网友解答:'处理SQLPublic Function TransactSQL(ByVal sql As String) As ADODB.RecordsetDim con As ADODB.Connection '声明Connection对象Dim rs As ADODB.Recordset '声明Recordset对象Dim strConnection As String '连接字符串Dim strArray() As String '声明数组Set con = New ADODB.ConnectionSet rs = New ADODB.RecordsetOn Error GoTo TransactSQL_Error strConnection = "provider=Microsoft.Jet.OLEDB.4.0;Data source =" & App.Path & "\table.mdb" '连接数据库的字符串 strArray = Split(sql) '将传递过来的SQL语句分割到数组 con.Open strConnection '打开连接 If StrComp(UCase$(strArray(0)), "select", vbTextCompare) = 0 Then '如果是查询语句 rs.Open Trim$(sql), con, adOpenKeyset, adLockOptimistic '打开查询表 Set TransactSQL = rs ‘将Recordset对象返回 iflag = 1 Else con.Execute sql '非查询语句,可能是update,delete等等 iflag = 1 End IfTransactSQL_Exit: Set rs = Nothing Set con = Nothing Exit Function TransactSQL_Error: MsgBox "²éѯ´íÎó£º" & Err.Description iflag = 2 Resume TransactSQL_Exit End Function
看书,不要直接拿不懂的代码来看,学习要有正确的方法才行. 字串9
网友解答:整个这个函数就是执行SQL语句,并且,如果是SELECT这样的会返回记录集的语句,就把记录集对象赋给这个函数,即返回一个结果记录集.如果是不会返回记录集结果的DML语句,则执行后不返回记录集,并在执行出现错误时捕获错误(否则将导致整个程序中断). 字串6
网友解答: