漩涡博人转生眼发威:Vb,以下代码错在哪儿?

来源:百度文库 编辑:高校问答 时间:2024/03/29 01:31:20
以下代码错在哪儿啊
Global Const DEFSOURCE = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source="
Public db As ADODB.Connection
Public Sub OpenDB()
Set db = New ADODB.Connection
DataEnvironment1.Connection1.ConnectionString = DEFSOURCE & App.Path & "\mdb\simpletable.mdb;"
DataEnvironment1.Connection2.ConnectionString = DEFSOURCE & App.Path & "\mdb\db2003.mdb;"
End Sub

以上是dataenvironment动态连接数据库,写在模块中,在form load中直接调用:call opendb().这样数据库连接算是成功了,但在以下代码运行中出错了:

Private Sub Command1_Click()
ExcuteCmd ("drop table outputdatagrid2")
ExcuteCmd ("select * into outputdatagrid2 where name = " & str)
DataReport1.Show
end sub

excutecmd是定义的一个执行SQL语句的函数,datareport1连接到outputdatagrid2.结果无论str是什么内容,报表显示的都是第一次str检索的结果,也就是outputdatagrid2的内容没有更新过,请问错在哪儿?
End Sub
excute函数内容如下:
Public Function ExcuteCmd(strSQL As String) As Boolean '执行无返回的SQL语句
On Error GoTo ErrorHandler
Dim CN As ADODB.Connection
Dim cmd As New ADODB.Command
Set CN = Connect()
If (CN Is Nothing) Then
GoTo ErrorHandler
End If
cmd.ActiveConnection = CN
cmd.CommandText = strSQL
cmd.CommandType = adCmdText
cmd.Execute
ExcuteCmd = True
Set CN = Nothing
Set cmd = Nothing
Exit Function
ErrorHandler:
ExcuteCmd = False
strerror = Err.Description
Set CN = Nothing
Set cmd = Nothing
End Function

请把excutecmd的代码写上,现在根本不知道excutecmd里面写的东西,自然不能回答你的问题。