在下按照kevincomein(白菜)的建议,我将一个jpg文件存到Sql里了。但有一个问题是:
1。我不知道是否已经将图片存到我指定的行里(因为是人事管理系统,可能会更新员工照片)。
2。我如何有选择的将指定的图片显示在VB的picturebox里(在查询功能中使用)。如蒙赐教,不胜感激!!
我的QQ号:264188923。欢迎大家与我联系。
1。我不知道是否已经将图片存到我指定的行里(因为是人事管理系统,可能会更新员工照片)。
2。我如何有选择的将指定的图片显示在VB的picturebox里(在查询功能中使用)。如蒙赐教,不胜感激!!
我的QQ号:264188923。欢迎大家与我联系。
解决方案 »
- 请教高手获得打印状态用wmi和api哪个好
- 如何监控指定目录(及其子目录)下的文件变化(需要知道那些文件发生了改变)?同时知道相应的注册表变化。
- ****公投CSDN_VB高手*****
- 请教如何使用Setup Factory打包程序?
- 我如何让启动时的SPLASH窗体全屏显示?
- VB如何读写网络上的数据库?
- 我是一个菜鸟,请问VB+SQL+C/S
- 我在outlook联系人的窗体上加了个button,想按下它后去执行一段VBA代码,该如何做?还有,我想在VBScript中用程序连接数据库,该如何做?
- 问:如何让鼠标移出一个控件的时候发生触发事件?
- 急!哪位高手会键盘钩子程序,请多指教,需要详细步骤。
- 大侠帮忙呀!在线等待!叩求答案!!!!!!
- 如何判断到达文件尾?
‘-------------------------------
Dim rs As ADODB.Recordset
Dim SQLstr As StringDim msteam As ADODB.StreamSet rs = New ADODB.Recordset
Set msteam = New ADODB.Streammsteam.Type = adTypeBinarymsteam.Openmsteam.LoadFromFile (PicPath)
SQLstr = "select pic from Table_picture where idid=1"rs.Open SQLstr, cn, adOpenDynamic, adLockBatchOptimistic
rs.Fields("pic").Value = msteam.Readrs.Update
Private Sub ReadFromDB(RY As String)
Dim Rst As New ADODB.Recordset
Dim Mstream As ADODB.Stream
Dim SQL As StringOn Error Resume Next
SQL = "select * from ry_manage where rybh='" & RY & "'"
Set Rst = New ADODB.Recordset
Rst.CursorLocation = adUseClient
Rst.Open SQL, Conn, adOpenStatic, adLockReadOnly, adCmdTextIf IsNull(Rst.Fields("pic")) Then img.Picture = LoadPicture(): Exit SubIf Rst.RecordCount = 0 Then
ShowMsg 1, " 数据库出错,请与系统管理员联系!"
Rst.Close
Set Rst = Nothing
Exit Sub
End IfSet Mstream = New ADODB.Stream
Mstream.Type = adTypeBinary
Mstream.Open
Mstream.Write Rst.Fields("pic").Value
Mstream.SaveToFile App.Path & "\tmpImage.gif", adSaveCreateOverWrite
Mstream.Close
Set Mstream = Nothing
img.Picture = LoadPicture(App.Path & "\tmpImage.gif")End Sub保存的
Private Sub SaveToDB(RY As String)
Dim Rst As New ADODB.Recordset
Dim Mstream As New ADODB.Stream
Dim SQL As String
Dim MediaName As StringMediaName = Trim$(PicFileName)
Set Rst = New ADODB.Recordset
Rst.CursorLocation = adUseClient
SQL = "select * from ry_manage where rybh='" & RY & "'"
Rst.Open SQL, Conn, adOpenStatic, adLockPessimistic, adCmdText Set Mstream = New ADODB.Stream
Mstream.Type = adTypeBinary
Mstream.Open
Mstream.LoadFromFile PicFileName
Rst.Fields("Pic").Value = Mstream.Read
Rst.UpdateRst.Close
Set Rst = Nothing
Set Mstream = NothingEnd Sub
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim stm As ADODB.StreamPrivate Sub SavePictureToDB(cn As ADODB.Connection)
'将BMP图片存入数据库
On Error GoTo EH
Set stm = New ADODB.Stream
rs.Open "select ImagePath,ImageValue from tbl_Image", cn, adOpenKeyset, adLockOptimistic
CommonDialog1.ShowOpen
Text1.Text = CommonDialog1.FileName
With stm
.Type = adTypeBinary
.Open
.LoadFromFile CommonDialog1.FileName
End With
With rs
.AddNew
.Fields("ImagePath") = Text1.Text
.Fields("ImageValue") = stm.Read
.Update
End With
rs.Close
Set rs = Nothing
Exit Sub
EH: MsgBox Err.Description, vbInformation, "Error"
End Sub
Private Sub LoadPictureFromDB(cn As ADODB.Connection)
'载数据库中读出BMP图片
On Error GoTo EH
Dim strTemp As String
Set stm = New ADODB.Stream
strTemp = "c:\temp.tmp" '临时文件,用来保存读出的图片
rs.Open "select ImagePath,ImageValue from tbl_image", cn, , , adCmdText
With stm
.Type = adTypeBinary
.Open
.Write rs("ImageValue")
.SaveToFile strTemp, adSaveCreateOverWrite
.Close
End With
Image1.Picture = LoadPicture(strTemp)
Set stm = Nothing
rs.Close
Set rs = Nothing
Exit Sub
EH: MsgBox Err.Description, vbInformation, "Error"
End Sub
2 图片和一个标识字段对应,将Ado中图片字段直接帮定到Picture或Image控件可直接显示Jpg或Bmp图片 不需要你再读取
http://support.microsoft.com/default.aspx?scid=kb;EN-US;258038