|
我做了个小程序,用来批量从其他MDB的表中向我指定的MDB中导入数据。
在导入之前我需要将原来的旧数据删除。但执行相应的语句后数据库却纹丝不动。
请大家帮忙诊断一下:
Dim tbName As String
Dim rs As New ADODB.Recordset
Dim cnn As New ADODB.Connection
Dim cmd As New ADODB.Command
......
cnn.ConnectionString = "rovider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Text3.Text & ";Mode=ReadWrite|Share Deny Noneersist Security Info=False" 'text3内是我输入的MDB文件名
cnn.Open
'刚开始尝试用CNN的Execute
cnn.Execute "delete * from " & tbName & " where 地块编号 like " & "'" & fn & "*'", , adCmdText 'tbName是我给的表名,MDB内确有此表;
'此句执行后,表里的数据一点都没有改变!我于是打开MDB,新建了一个查询,将该句复制进去,执行结果正常。
'更加令人不解的是:当我不带条件语句WHERE后,即删除所有的记录时,执行成功了!如下:
cnn.Execute "delete * from " & tbName
......
'后来我又尝试CMD的Execute 和 RS的OPEN方法,都是这样的结果!
'甚至RS的OPEN方法里写上SELECT。。。。都不能行到正确的结果:如下:
rs.open "select * from " & tbName & " WHERE 地块编号 like " & Chr(34) & fn & "*" & Chr(34),cnn, adOpenKeyset, adLockOptimistic
'返回的记录数为0
以上问题,百思不得其解,恳请高手赐教! |
|