Private Sub ShowImage() '从数据库中取出图片
Dim SqlConnectionString As String = "Persist Security Info=False;Data Source=FENGWEICOMPUTER;Initial Catalog=TUPIAN;User ID=sa;Password=123456"
Dim MyConnection As New SqlClient.SqlConnection(SqlConnectionString)
MyConnection.Open()
Dim MyCommand As New SqlClient.SqlCommand("SELECT photo FROM Photos WHERE [name]=" + "'" + TextBox2.Text + "'", MyConnection)
Dim buffer() As Byte = MyCommand.ExecuteScalar()
If (Not buffer Is Nothing) AndAlso (buffer.Length > 0) Then
Dim stream As New IO.MemoryStream(buffer, 0, buffer.Length, True)
PictureBox1.Image = New Bitmap(stream)
PictureBox1.Image.Save(Application.StartupPath() + "\1.jpg")
Process.Start(Application.StartupPath() + "\1.jpg")
stream.Close()
End If
MyConnection.Close()
End Sub
以上是图片法,当时我尝试把WORD存入字段后,二进制字段不能用PictureBox1.Image = New Bitmap(stream)这句
这里如果我是把一个EXCEL或WORD存入数据库二进制字段,我该用什么语法来读这个字段并保存到本地目录,然后打开呢?
???.Save(Application.StartupPath() + "\1.DOC")
Process.Start(Application.StartupPath() + "\1.DOC")
------解决方案--------------------
buffer是字节数组类型的,直接保存它就可以了。
File.WriteAllBytes("文件名", buffer)
参考:
File.WriteAllBytes Method
http://msdn.microsoft.com/en-us/library/system.io.file.writeallbytes(v=vs.110).aspx