'保存文件到数据库中 iConc已正常连接 Hpdj为需要更新的字段;Ymd为更新记录点;以下尝试1、尝试2是分别进行调试的,都未通过,请高手指点
Private Sub s_SaveFile(sYmd, svFile)
Dim iStm As ADODB.Stream
Dim iRe As ADODB.Recordset
Dim cSql As String
'读取文件到iStm
Set iStm = New ADODB.Stream
With iStm
.Type = adTypeBinary '二进制模式
.Open
.LoadFromFile svFile
End With '打开保存文件的表
Set iRe = New ADODB.Recordset
iRe.CursorLocation = adUseClient
cSql = "Select ymd from MyTable Where ymd=#" & sYmd & "#"
iRe.Open cSql, iConc, adOpenKeyset, adLockOptimistic
If iRe.RecordCount <= 0 Then
'新增一条记录
Else
''更新尝试1---------------------------------
With iRe
.Close
.Open "MyTable", iConc, adOpenStatic, adLockOptimistic ', adCmdText
.Find "Ymd=#" & sYmd & "#", 1, adSearchForward
If .EOF Then .Fields("Hpdj") = iStm.Read: .Update
.Close
End With
''-------------------------------------
''更新尝试2---------------------------------
iRe.Close
cSql = "Update MyTable set Hpdj=" & iStm.Read & " Where ymd=#" & sYmd & "#"
iConc.Execute ("Update MyTable set Hpdj=" & iStm.Read & " Where Ymd=#" & sYmd & "#")
''-------------------------------------
End If
'完成后关闭对象
iStm.Close
iConc.Close
End Sub
Private Sub s_SaveFile(sYmd, svFile)
Dim iStm As ADODB.Stream
Dim iRe As ADODB.Recordset
Dim cSql As String
'读取文件到iStm
Set iStm = New ADODB.Stream
With iStm
.Type = adTypeBinary '二进制模式
.Open
.LoadFromFile svFile
End With '打开保存文件的表
Set iRe = New ADODB.Recordset
iRe.CursorLocation = adUseClient
cSql = "Select ymd from MyTable Where ymd=#" & sYmd & "#"
iRe.Open cSql, iConc, adOpenKeyset, adLockOptimistic
If iRe.RecordCount <= 0 Then
'新增一条记录
Else
''更新尝试1---------------------------------
With iRe
.Close
.Open "MyTable", iConc, adOpenStatic, adLockOptimistic ', adCmdText
.Find "Ymd=#" & sYmd & "#", 1, adSearchForward
If .EOF Then .Fields("Hpdj") = iStm.Read: .Update
.Close
End With
''-------------------------------------
''更新尝试2---------------------------------
iRe.Close
cSql = "Update MyTable set Hpdj=" & iStm.Read & " Where ymd=#" & sYmd & "#"
iConc.Execute ("Update MyTable set Hpdj=" & iStm.Read & " Where Ymd=#" & sYmd & "#")
''-------------------------------------
End If
'完成后关闭对象
iStm.Close
iConc.Close
End Sub
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货