Public mAdoRec As New ADODB.Recordset
Public mAdoCon As New ADODB.Connection
Public Function DoSql(sqlstr As String, Optional Isreturn As Boolean = False) As Boolean
On Error GoTo mErr:
If Isreturn = True Then
If mAdoRec.State = 1 Then mAdoRec.Close
mAdoRec.Open sqlstr, mAdoCon, adOpenStatic
Else
mAdoCon.Execute sqlstr
End If
On Error GoTo 0
DoSql = True
Exit Function
mErr:
MsgBox err.Number & ":" & err.Description & ",sqlstr='" & sqlstr & "'" & vbCrLf
DoSql = False
End Function
请具体到每一行的解释,谢谢。
Public mAdoCon As New ADODB.Connection
Public Function DoSql(sqlstr As String, Optional Isreturn As Boolean = False) As Boolean
On Error GoTo mErr:
If Isreturn = True Then
If mAdoRec.State = 1 Then mAdoRec.Close
mAdoRec.Open sqlstr, mAdoCon, adOpenStatic
Else
mAdoCon.Execute sqlstr
End If
On Error GoTo 0
DoSql = True
Exit Function
mErr:
MsgBox err.Number & ":" & err.Description & ",sqlstr='" & sqlstr & "'" & vbCrLf
DoSql = False
End Function
请具体到每一行的解释,谢谢。
打开数据库执行 SQL语句
同常放到 一个类模块中供程序调用
Public mAdoRec As New ADODB.Recordset
Public mAdoCon As New ADODB.Connection
Public Function DoSql(sqlstr As String, Optional Isreturn As Boolean = False) As Boolean
定义函数DoSql
第一个参数为传入的Sql语句
第二个参数是有选择的
如果调用时不加第二个参数,刚系统默认为假
On Error GoTo mErr:
如果运行时发生错误就跳到 mErr 处
If Isreturn = True Then 判断传入参数的值
If mAdoRec.State = 1 Then mAdoRec.Close 如果mAdoCon连接打开着,就先将它关闭
mAdoRec.Open sqlstr, mAdoCon, adOpenStatic 执行传入的sqlstr语句
Else
mAdoCon.Execute sqlstr 执行传入的sqlstr语句
End If
On Error GoTo 0 恢复运行时出错时的处理方法
DoSql = True 函数返回值为真
Exit Function 退出函数
mErr:‘如果刚才运行出错时将自动跳到这一步
MsgBox err.Number & ":" & err.Description & ",sqlstr='" & sqlstr & "'" & vbCrLf 弹出一个消息框,显示错误号,描述和传入的sqlstr的内容
DoSql = False 函数返回值为假
End Function