关于vb查询SQL server2000中表是否存在的问题
直接贴代码
- VB code
Dim cn As New ADODB.ConnectionDim rs As New ADODB.RecordsetDim str As StringDim cn1 As New ADODB.ConnectionDim cmd As New ADODB.CommandDim rs1 As New ADODB.Recordsetcn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=false;Data Source=" & Trim(txtXLS.Text) & ";Extended Properties='Excel 8.0;HDR=Yes'"cn.Openrs.Open "select * from [" & Trim(cmbSheet.Text) & "$]", cn, adOpenKeyset, adLockOptimisticstr = "Driver={SQL Server};Server=" & Trim(txtServerName) & ";DataBase=" & Trim(txtDatabaseName) & ";UID=" & Trim(txtUsername) & ";PWD=" & Trim(txtPassword) & ";"cn1.Open str'On Error GoTo FindTableDim TableStr As StringTableStr = Trim(txtDatabaseName) & ".Owner." & Trim(txtTableName)Dim aSQL As StringaSQL = "select count(*) from sysobjects where id = object_id('" & Trim(TableStr) & "')"If cn1.Execute(aSQL) = 0 Then MsgBox "1"运行后错误出现在,最后一行说cn1.execute类型不匹配
有人知道怎么解决吗?
[解决办法]
Execute 方法 (ADO Connection)
执行指定的查询、SQL 语句、存储过程或特定提供者的文本等内容。
语法
对于非按行返回的命令字符串:
connection.Execute CommandText, RecordsAffected, Options
对于按行返回的命令字符串:
Set recordset = connection.Execute (CommandText, RecordsAffected, Options)
返回值
返回 Recordset 对象引用。