用VB向SQL server里放图片

来源:百度知道 编辑:UC知道 时间:2024/05/02 18:04:16
我用这个方法向SQL server的image型数据存放图片
Private Sub Command2_Click() '往数据库中写图片
Dim StrPath As String
Set cn = New ADODB.Connection
cn.Open "Provider=SQLOLEDB;data Source=127.0.0.1;Initial Catalog=数据库名;User Id=sa;Password="
Set rs = New ADODB.Recordset
rs.Open "Select * from TABLE1 where aaaaa= 1 ", cn, adOpenKeyset, adLockOptimistic
CommonDialog1.CancelError = True
CommonDialog1.Filter = "*.jpg;*.bmp;*.gif|*.jpg;*.bmp;*.gif" ' CommonDialog1.Filter = "*.mdb|*.mdb|"
CommonDialog1.ShowOpen
If CommonDialog1.FileName <> "" Then
StrPath = CommonDialog1.FileName
Set mstream = New ADODB.Stream
mstream.Type = adTypeBinary
mstream.Open
mstream.LoadFromFile StrPath
If rs.EOF Then
rs.AddNew
rs!empid = 1
rs.Fields("Picture").Value = mstream.Read
Else
rs.Fields("Pi

rs.Fields("Picture").Value=这个操作有个前提,RS指针指向一条记录。RS指针有三种可能:指向数据库末尾(EOF),指向数据库开头(BOF),指向一条记录。 当RS的EOF或BOF属性为真时,都不能进行记录操作。 你只猜着了结尾,没猜着开头啊。 rs.EOF 时增加新记录,BOF时就要根据情况判断了,移动RS指针或增加记录。 记住进行rs.Fields("Picture").Value=之类操作前搞清楚RS指针位置。用RS.MOVE之类的方法移动。