我用的是access97数据库,库里面有client,method,pursor等几个表
我有个程序是接受服务器传给我的一条条SQL语句,我把取到的SQL语句符给变量
m_temp(dim m_temp as string)
但是我不知道怎么样用execute去执行这条语句
我知道好想好象用什么ado控件去执行?????
我的数据库路径是:App.Path + "\" + "public.mdb"
数据库控件:database1.databasename = App.Path + "\" + "public.mdb"我是新手,不知道的太多,请高手指点代码该怎么写???
我有个程序是接受服务器传给我的一条条SQL语句,我把取到的SQL语句符给变量
m_temp(dim m_temp as string)
但是我不知道怎么样用execute去执行这条语句
我知道好想好象用什么ado控件去执行?????
我的数据库路径是:App.Path + "\" + "public.mdb"
数据库控件:database1.databasename = App.Path + "\" + "public.mdb"我是新手,不知道的太多,请高手指点代码该怎么写???
Dim rs As New ADODB.Recordset
db.ConnectionString = "provider=microsoft.jet.oledb.4.0;" & "data source=" & App.Path & "\public.mdb"
db.Opendb.Execute "SQL语句"
Dim adors1 As ADODB.Recordset
Dim adors2 As ADODB.RecordsetPrivate Sub cmdAudit_Click()
Set adocon1 = New ADODB.Connection '打开本地数据库
adocon1.Provider = "Microsoft.Jet.OLEDB.4.0"
adocon1.Open App.Path & "\sacc.mdb"
Set adors1 = adocon1.Execute("select * from ResultData where len(bh)=6 ")
Open App.Path & "\Error_Money.txt" For Append Access Write As #1 '写入有问题的记录编号及字段
Print #1, DateTime.Now()
Do While adors1.EOF() = False
Set adors2 = adocon1.Execute("select sum(gjje) as gjje1 from ResultData where bh1 like '" & adors1!bh & "%'")
If adors1!zzxx <> adors2!gjje1 Then Print #1, vbCrLf & adors1!bh
adors1.MoveNext
Loop
End Sub
'返回数据连接自符串
Dim direct As String
direct = App.Path
ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + direct + "\public.mdb;User Id=admin;Password=;"
End Function
Public Function ExecuteSQL(ByVal SQL As String, msgStr As String) As ADODB.Recordset
'执行SQL语句并返回记录集
Dim cnn As ADODB.Connection
Dim rs 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
msgStr = sTokens(0) & " query successful"
Else
Set rs = New ADODB.Recordset
rs.Open Trim$(SQL), cnn, OpenDynamic, adLockPessimistic
Set ExecuteSQL = rs
msgStr = "查询到" & rs.RecordCount & " 条记录 "
End If
ExecuteSQL_Exit:
Set rs = Nothing
Set cnn = Nothing
Exit Function
ExecuteSQL_Error:
msgstring = "查询错误: " & Err.Description
' MsgBox msgstring, vbOKOnly + vbExclamation, "警告"
Resume ExecuteSQL_Exit
End Function在工程的引用里添加Microsoft ActuveX Data objects 2.0 library
把上面的代码拷贝到你的程序里
然后在程序里调用
dim rs As ADODB.Recordset
set rs=executesql(m_temp," ")
就可以了
set db=opendatabase("DatabaseName")
db.execute "sql"
set db=nothing
cn.open "provider=microsoft.jet.oledb.3.51;data source="+databasepath;
cn.cursorlocation=aduseclient
cn.execute "delete ..."