以下是引用jspta在2016/5/23 21:03:00的发言:
效率至少差5倍以上
pcon.ConnectionString = ConnectionString
padp.InsertCommand = New System.Data.SqlClient.SqlCommand()
With padp.InsertCommand
.Connection = pcon
.CommandText = "ins ert into A(FileID,imgFileAttachment) values (@intFileID,@img)"
If .Connection.State <> Data.ConnectionState.Open Then
.Connection.Open()
End If
Dim param As System.Data.SqlClient.SqlParameter
param = .Parameters.Add("@intFileID", System.Data.SqlDbType.Int)
param.Value = FileID
param = .Parameters.Add("@img", System.Data.SqlDbType.Image)
Dim fs As New System.IO.FileStream(SourceFileFullName, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.ReadWrite) '用文件流打开图片
Dim br As New System.IO.BinaryReader(fs) '根据文件流,申明一个二进制阅读器
param.Value = br.ReadBytes(fs.Length)
.ExecuteNonQuery()
.Connection.Close()
br.Close()
fs.Close()
老师 本人菜鸟 这段代码不是很明白 我的需求是 先判断A数据源的sql服务器的附件表里存不存在与B数据源的access服务器上的附件表CRC相同的二进制文件 如果不存在就将B数据源里的记录(包含二进制列)复制到A数据源的sql服务器对应的表