下面的代码是能正确从SQL数据库是读出图片的,但是我觉得有两个地方需要改进1 最好修改成不需要写到C盘去,能否直接读到image控件或者pictuer控件中去吗?
2 显示的图自不能控件大小,图片原来是多,就显示为多大,很不美观....Private Sub 读出image字段,测试是OK ()
Set cn = New ADODB.Connection
cn.Open "Provider=SQLOLEDB;data Source=.;Initial Catalog=456;User Id=sa;Password=;"
Set rs = New ADODB.Recordset
rs.Open "Select * from yuangong where ygname='" & Text1.Text & "'", cn, adOpenKeyset, adLockOptimistic
If rs.EOF = True Then
MsgBox "没有该员工的记录"
Else
Set mstream = New ADODB.Stream
mstream.Type = adTypeBinary
mstream.Open
mstream.Write rs.Fields("ygpicuter").Value '这是要写到C盘去的,能否直接读进Image2或Picture1.吗??
mstream.SaveToFile "c:\publogo.jpg", adSaveCreateOverWrite
Picture1.Picture = LoadPicture("c:\publogo.jpg") '使用两种方法进行显示'
Image2.Height = 60 '不起作用,图片原来是多大,就是会显示多大
Image2.Width = 60
Image2.Picture = LoadPicture("c:\publogo.jpg")
Text4.Text = rs("ygname")
Text5.Text = rs("ygchusheng")
Label5.Caption = rs("ygname") & "出生日期"
mstream.Close
Set mstream = Nothing
End If
rs.Close
cn.CloseEnd Sub
直接读不会,我都是先存储再删掉
Image2.Picture = LoadPicture("c:\publogo.jpg")
后面再加上一条删除的该图片的语句?? shell dell c:\publogo.jpg ??如何写????还再问一下,如何让MSHFlexGrid1控件显示SQL中的image字段,并且控制大小....
我用以下代码: Set MSHFlexGrid1.DataSource = rs
'不加以下标题行的话,该 MSHFlexGrid1控件会自动用数据库中的字段名作为标题'
MSHFlexGrid1.ColWidth(0) = 12 * 17 * 2
MSHFlexGrid1.ColWidth(1) = 12 * 24 * 2
MSHFlexGrid1.ColWidth(2) = 12 * 18 * 2
MSHFlexGrid1.ColWidth(3) = 12 * 25 * 3
MSHFlexGrid1.ColWidth(4) = 12 * 25 * 4
MSHFlexGrid1.FixedRows = 1
MSHFlexGrid1.FixedCols = 1
MSHFlexGrid1.TextMatrix(0, 0) = "序号"
MSHFlexGrid1.TextMatrix(0, 1) = "姓名"
MSHFlexGrid1.TextMatrix(0, 2) = "性别"
MSHFlexGrid1.TextMatrix(0, 3) = "出生年月"
MSHFlexGrid1.TextMatrix(0, 4) = "图片"
For i = 1 To rs.RecordCount
MSHFlexGrid1.TextMatrix(i, 0) = i
Next i
End If
显示不了SQL数据库中的"图片" 字段, ,如果能显示的,还要怎么控制图片的大小???? 谢谢,请指教...
Image2.Picture = LoadPicture("c:\publogo.jpg")
后面再加上一条删除的该图片的语句?? shell dell c:\publogo.jpg ??如何写????还再问一下,如何让MSHFlexGrid1控件显示SQL中的image字段,并且控制大小....我用了以下代码: Set MSHFlexGrid1.DataSource = rs
'不加以下标题行的话,该 MSHFlexGrid1控件会自动用数据库中的字段名作为标题'
MSHFlexGrid1.ColWidth(0) = 12 * 17 * 2
MSHFlexGrid1.ColWidth(1) = 12 * 24 * 2
MSHFlexGrid1.ColWidth(2) = 12 * 18 * 2
MSHFlexGrid1.ColWidth(3) = 12 * 25 * 3
MSHFlexGrid1.ColWidth(4) = 12 * 25 * 4
MSHFlexGrid1.FixedRows = 1
MSHFlexGrid1.FixedCols = 1
MSHFlexGrid1.TextMatrix(0, 0) = "序号"
MSHFlexGrid1.TextMatrix(0, 1) = "姓名"
MSHFlexGrid1.TextMatrix(0, 2) = "性别"
MSHFlexGrid1.TextMatrix(0, 3) = "出生年月"
MSHFlexGrid1.TextMatrix(0, 4) = "图片"
For i = 1 To rs.RecordCount
MSHFlexGrid1.TextMatrix(i, 0) = i
Next i
End If
显示不了SQL数据库中的"图片" 字段, ,如果能显示的,还要怎么控制图片的大小????
谢谢,请指教...
Image2.Picture = LoadPicture("c:\publogo.jpg")
后面再加上一条删除的该图片的语句?? shell dell c:\publogo.jpg ??如何写????还再问一下,如何让MSHFlexGrid1控件显示SQL中的image字段,并且控制大小....
我用以下代码:
Set MSHFlexGrid1.DataSource = rs
'不加以下标题行的话,该 MSHFlexGrid1控件会自动用数据库中的字段名作为标题'
MSHFlexGrid1.ColWidth(0) = 12 * 17 * 2
MSHFlexGrid1.ColWidth(1) = 12 * 24 * 2
MSHFlexGrid1.ColWidth(2) = 12 * 18 * 2
MSHFlexGrid1.ColWidth(3) = 12 * 25 * 3
MSHFlexGrid1.ColWidth(4) = 12 * 25 * 4
MSHFlexGrid1.FixedRows = 1
MSHFlexGrid1.FixedCols = 1
MSHFlexGrid1.TextMatrix(0, 0) = "序号"
MSHFlexGrid1.TextMatrix(0, 1) = "姓名"
MSHFlexGrid1.TextMatrix(0, 2) = "性别"
MSHFlexGrid1.TextMatrix(0, 3) = "出生年月"
MSHFlexGrid1.TextMatrix(0, 4) = "图片"
For i = 1 To rs.RecordCount
MSHFlexGrid1.TextMatrix(i, 0) = i
Next i
End If
显示不了SQL数据库中的"图片" 字段, ,如果能显示的,还要怎么控制图片的大小????
谢谢,请指教...
Image2.Picture = LoadPicture("c:\publogo.jpg")
后面再加上一条删除的该图片的语句?? shell dell c:\publogo.jpg ??如何写????还再问一下,如何让MSHFlexGrid1控件显示SQL中的image字段,并且控制大小....
我用以下代码: Set MSHFlexGrid1.DataSource = rs
'不加以下标题行的话,该 MSHFlexGrid1控件会自动用数据库中的字段名作为标题'
MSHFlexGrid1.ColWidth(0) = 12 * 17 * 2
MSHFlexGrid1.ColWidth(1) = 12 * 24 * 2
MSHFlexGrid1.ColWidth(2) = 12 * 18 * 2
MSHFlexGrid1.ColWidth(3) = 12 * 25 * 3
MSHFlexGrid1.ColWidth(4) = 12 * 25 * 4
MSHFlexGrid1.FixedRows = 1
MSHFlexGrid1.FixedCols = 1
MSHFlexGrid1.TextMatrix(0, 0) = "序号"
MSHFlexGrid1.TextMatrix(0, 1) = "姓名"
MSHFlexGrid1.TextMatrix(0, 2) = "性别"
MSHFlexGrid1.TextMatrix(0, 3) = "出生年月"
MSHFlexGrid1.TextMatrix(0, 4) = "图片"
For i = 1 To rs.RecordCount
MSHFlexGrid1.TextMatrix(i, 0) = i
Next i
End If
显示不了SQL数据库中的"图片" 字段, ,如果能显示的,还要怎么控制图片的大小???? 谢谢,请指教...