采用二进制流方式更新OLE字段出现的问题(mdb数据库),高手请进。
'保存文件到数据库中(MyYbTxt表:字段包含Ymd和Hpdj)
Sub s_SaveFile(sYmd, svFile)
Dim iStm As ADODB.Stream
Dim iRe As ADODB.Recordset
Dim cSql As String
'读取文件到内容
Set iStm = New ADODB.Stream
With iStm
.Type = adTypeBinary '二进制模式
.Open
.LoadFromFile svFile
End With
'打开保存文件的表
Set iRe = New ADODB.Recordset
cSql = "Select ymd from MyYbTxt Where ymd=#" & sYmd & "#"
iRe.Open cSql, iConc, adOpenKeyset, adLockOptimistic
If iRe.RecordCount <= 0 Then
iRe.Close
With iRe
.Open "MyYbTxt", iConc, adOpenKeyset, adLockOptimistic
.AddNew '新增一条记录
.Fields("Ymd") = sYmd
.Fields("Hpdj") = iStm.Read
.Update
.Close
End With
Else
iConc.Execute ("Update MyYbTxt set Hpdj=" & iStm.Read & " Where Ymd=#" & sYmd & "#")
End If
'完成后关闭对象
iStm.Close
iConc.Close
End Sub
问题出在红色行,提示“UPDATE 语句的语法错误”,我检查不出来,是不是出在iStm.Read 这里,请高手指点。
Sub s_SaveFile(sYmd, svFile)
Dim iStm As ADODB.Stream
Dim iRe As ADODB.Recordset
Dim cSql As String
'读取文件到内容
Set iStm = New ADODB.Stream
With iStm
.Type = adTypeBinary '二进制模式
.Open
.LoadFromFile svFile
End With
'打开保存文件的表
Set iRe = New ADODB.Recordset
cSql = "Select ymd from MyYbTxt Where ymd=#" & sYmd & "#"
iRe.Open cSql, iConc, adOpenKeyset, adLockOptimistic
If iRe.RecordCount <= 0 Then
iRe.Close
With iRe
.Open "MyYbTxt", iConc, adOpenKeyset, adLockOptimistic
.AddNew '新增一条记录
.Fields("Ymd") = sYmd
.Fields("Hpdj") = iStm.Read
.Update
.Close
End With
Else
iConc.Execute ("Update MyYbTxt set Hpdj=" & iStm.Read & " Where Ymd=#" & sYmd & "#")
End If
'完成后关闭对象
iStm.Close
iConc.Close
End Sub
问题出在红色行,提示“UPDATE 语句的语法错误”,我检查不出来,是不是出在iStm.Read 这里,请高手指点。
...全文
相关推荐
C#和mdb的操作
对于MDB文件,最常用的是OLE DB(Object Linking and Embedding Database),这是一种通用的数据访问技术,允许应用程序通过统一的方式访问不同的数据源。
C#操作ACCESS数据库,MDB文件读写
=C:\\path\\to\\your\\database.mdb";```这里的`Provider`字段指定了数据提供者,`Data Source`字段则指定了数据库文件的路径。
C#增删改查mdb数据库文件Demo
首先,我们需要引入必要的命名空间,如`System.Data.OleDb`,它包含了连接到OLE DB数据源所需的类。然后,创建一个`OleDbConnection`对象来建立与mdb文件的连接。
ADO+ODBC方式操作MDB数据库.rar
首先,了解ADO是微软提供的一种数据访问接口,它允许程序通过OLE DB协议与各种类型的数据库进行交互,包括Access MDB。
易语言ADO+ODBC方式操作MDB数据库源码-易语言
ADO(ActiveX Data Objects)是微软提供的一个数据访问接口,它允许程序通过OLE DB协议与各种数据库进行通信。


数据库(包含打印,安装,报表)
