ExeDMLSQL()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim strsql As String = "select * from 产品图片 where 序号=1"
Dim objcommand As New SqlCommand(strsql, New SqlConnection(connection))
objcommand.Connection.Open()
Dim myreader As SqlDataReader = objcommand.ExecuteReader()
If myreader.Read() Then
Dim imgInfo() As Byte = myreader("图片")
Dim memoryStream As New MemoryStream(imgInfo)
PictureBox1.Image = Image.FromStream(memoryStream)
End If
End Sub
Private Sub ExeDMLSQL()
Dim st As New FileStream("D:\1.png", FileMode.Open, FileAccess.Read)
Dim mbr As New BinaryReader(st)
Dim buffer(st.Length) As Byte
mbr.Read(buffer, 0, CInt(st.Length))
st.Close()
InsertImage(buffer)
End Sub
Private Sub InsertImage(ByVal buffer() As Byte)
Dim cn As New SqlConnection(connection)
cn.Open()
Dim cmd As New SqlCommand("SaveImg", cn)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.Add("@name", SqlDbType.VarChar).Value = 1
cmd.Parameters.Add("@image", SqlDbType.Image).Value = buffer
cmd.ExecuteNonQuery()
MsgBox("Image inserted.")
cn.Close()
End Sub
SaveImg是一个存储过程:
ALTER PROCEDURE dbo.SaveImg
@name AS int,
@image AS IMAGE
AS
INSERT INTO 产品图片 (序号, 图片)
VALUES (@name, @image)
VB软件调用图片有多种方法:1、直接调用外部图片文件;
2、直接放入控件的Picture属性或Icon等属性;
3、放入资源文件;
4、其他方法(比如数据库)。
从你描述的情况来看,应该可以排除第一种方法。如果是第二种方式,那么图片是放在与窗体同名的frx文件中(比如Form1.Frx),这里放的是所有与该窗体有关的二进制数据(不单单是图片),不过你要想在程序外部从frx文件中提取出原图片可不太容易,但你在程序中可以用savepicture命令很轻松的把图片保存为新文件。如果使用资源文件存放图片的,你可以用一些资源文件的分析软件取出所要的图片,当然也可以用VB本身的提取资源命令取出图片到图像控件的picture属性再用savepicture命令保存为新文件。
当然如果你说的VB软件不是源代码,而是编译后的EXE文件,那就没办法了,只有破解一途了,但这个的成功率很低。
源文件:指编程者做好的工程文件,包含对程序进行修改、编译所需的全套代码和组件(例如图标、可视界面、第三方控件、数据库)。源代码:仅仅是编程者所写的程序代码,不包含界面和控件等,需要用户自行完成相关 *** 作。可能不完整,一般用于提供编程思路。
【对补充的解答】
我上面已经说过了,源代码可能不完整。可能是整个工程的源代码,也可能只是几个主要窗体的源代码。究竟是哪种要由提供代码者决定。考虑到时间、精力等问题,他可能只提供比较难编的主要部分的代码,而将剩下的简单代码留给用户自行完成。一般提供代码者会同时说明情况。
如果你想要完整的代码,可以搜索其它人提供的代码,或者直接找源文件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)