求一个sqlserver数据库存储过程

zimeisoft 2017-08-27 04:03:59
我要向数据库(2000,2005,2008)表中存储二进制文件,这个表如下
GO
CREATE TABLE [dbo].[附件表](
[ID] [nvarchar](50) NULL,
[文件名称] [nvarchar](50) NULL,
[文件扩展名] [nvarchar](15) NULL,
[内容] [image] NULL,
[上传日期] [smalldatetime] NULL,
[上传人] [nvarchar](50) NULL,
[说明] [nvarchar](100) NULL,
[工地名称] [nvarchar](50) NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

我采用流方式,太慢,等的要崩溃,没有写过存储过程,求保存该记录的存储过程,提高效率。
非常感谢!

下面是我采用的方式,太慢,一个1M的文件保存要花去1分多钟
Public Function SavePictureToDB(MyFile As String, MyMSF As MSFlexGrid, Myrow As Long) As Boolean
'将图片存入数据库

Dim rs As New ADODB.Recordset
Dim i As Integer
SavePictureToDB = False
On Error GoTo EH
Set stm = New ADODB.Stream
rs.Open "select ID,文件名称,文件扩展名,内容,上传日期,上传人,工地名称 from 附件表 ", ServerCn, adOpenKeyset, adLockOptimistic

With stm
.type = adTypeBinary
.Open
.LoadFromFile MyFile
End With
'序号|^编号|^文件名称|^后缀名|^上传日期|^上传人"
With rs
.AddNew
.Fields("ID") = Trim(MyMSF.TextMatrix(Myrow, 1))
.Fields("文件名称") = Trim(MyMSF.TextMatrix(Myrow, 2))
.Fields("文件扩展名") = Trim(MyMSF.TextMatrix(Myrow, 3))
.Fields("内容") = stm.Read
.Fields("上传日期") = Format(MyMSF.TextMatrix(Myrow, 4), "yyyy-mm-dd")
.Fields("上传人") = Trim(MyMSF.TextMatrix(Myrow, 5))
.Fields("工地名称") = Trim(MyMSF.TextMatrix(Myrow, 6))
DoEvents
.Update
'
End With
DoEvents
rs.Close
Set rs = Nothing
Set stm = Nothing
SavePictureToDB = True
Exit Function
EH: MsgBox err.Description, vbInformation, "Error"
End Function
...全文
604 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
既然只是插入,不要查询之前所有的行 四楼方法可行 或者改成应该也一样 rs.Open "select top 0 ID,文件名称,文件扩展名,内容,上传日期,上传人,工地名称 from 附件表"
赵4老师 2017-09-21
  • 打赏
  • 举报
回复
引用 3 楼 zimeisoft 的回复:
现在学来不及。能否帮写一个,谢谢!
磨刀不误砍柴工。
shiguangxin 2017-09-20
  • 打赏
  • 举报
回复
rs.Open "select ID,文件名称,文件扩展名,内容,上传日期,上传人,工地名称 from 附件表 where id=0" 试试看
zimeisoft 2017-08-28
  • 打赏
  • 举报
回复
现在学来不及。能否帮写一个,谢谢!
赵4老师 2017-08-28
  • 打赏
  • 举报
回复
参考SQL Server联机帮助中“bcp实用工具”相关内容。
zimeisoft 2017-08-28
  • 打赏
  • 举报
回复
请各位伸出援手,非常感谢!在线等

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧