vb.net中,在sql server2000数据库中插入图片,最好有源码,有懂的朋友可以家我QQ1971951508

vb.net中,在sql server2000数据库中插入图片,最好有源码,有懂的朋友可以家我QQ1971951508,第1张

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

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文件,那就没办法了,只有破解一途了,但这个的成功率很低。

源文件:指编程者做好的工程文件,包含对程序进行修改、编译所需的全套代码和组件(例如图标、可视界面、第三方控件、数据库)。

源代码:仅仅是编程者所写的程序代码,不包含界面和控件等,需要用户自行完成相关 *** 作。可能不完整,一般用于提供编程思路。

【对补充的解答】

我上面已经说过了,源代码可能不完整。可能是整个工程的源代码,也可能只是几个主要窗体的源代码。究竟是哪种要由提供代码者决定。考虑到时间、精力等问题,他可能只提供比较难编的主要部分的代码,而将剩下的简单代码留给用户自行完成。一般提供代码者会同时说明情况。

如果你想要完整的代码,可以搜索其它人提供的代码,或者直接找源文件。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10018480.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存