- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于.NET的Image数据类型字段的应用
[摘要]文章探讨在Visual Basic.NET中怎样把图片文件写入到SQL Server数据库,以及怎样把SQL Server数据库中Image数据类型字段读出并显示到图片框控件中的执行程序。
[关键词]信息管理系统; SQL Server;图片;VB.NET
[作者简介]毕传林,江西九江职业技术学院计算机教研室讲师,研究方向:计算机软件,江西九江,332007;占跃华,江西九江职业技术学院计算机教研室副教授,研究方向:计算机软件,江西九江,332007
[中图分类号] TP393.09 [文献标识码] A [文章编号] 1007-7723(2008)02-0036-0002
信息管理系统开发中,经常会涉及到图片的显示,通常是把图片作为一个文件来存放在服务器端,在客户端找到相应的图片文件并显示出来。但是有时对图片文件的路径很难定位,如果能将图片文件内容同样保存在数据库中的字段中,和其他信息一样的访问,这样会给程序设计带来很大便利。其实在SQL Server数据库中提供一种Image数据类型的字段,但是该字段的值不能直接输入,而需要编写程序才能把数据写进去,同时也要通过程序才能把其内容读出来。
下面探讨在VB.NET中怎样把照片文件写入到SQL Server数据库Image数据类型的字段中,同时在显示图片时,又怎样把图片从数据库读出并显示出来。
假设在SQL Server数据库中已创建好数据库名称为Newstudent,且在该数据库中存在一张表temp,表中有三个字段Id(char(10),主键) ,Name(char(20)),photo(image,用来存放图片)。
在VB.NET2003中新建一个项目,在窗口Form1上添加1个图片框(PictureBox1)、1个打开文件对话框(OpenFileDialog1)、2个命令按钮,窗口设计如图1所示。保存按钮用来把图片文件内容读出并保存到数据表Temp的photo字段中;“读出” 按钮用来把数据表的photo字段的值读出并在图片框(PictureBox1)中显示出来。
一、图片的写入
思路:首先要选择一幅图片,把图片文件以二进制流的形式打开并读出,读出的文件内容保存到一个字节类型的数组中。然后连接数据库,执行SQL命令(如插入或更新命令)把字节数组的值即图片文件的内容保存SQL Server数据库中。程序如下:
单击保存按钮读出用户选择的图片内容并写入到SQL Server数据库的Image类型的字段中。保存按钮的单击事件代码:
OpenFileDialog1.Filter = JPG文件|*.JPG|所有文件|*.*
显示打开文件对话框,如用户单击了确定按钮,则打开文件
If OpenFileDialog1.ShowDialog = DialogResult.OK Then
Dim FileName As String
FileName = OpenFileDialog1.FileName 得到用户所选择的文件名
Dim f As New FileStream(FileName, FileMode.Open) 以读的方式打开文件
Dim r As New BinaryReader(f) 定义一个BinaryReader对象来读取二进制文件
Dim lenth As Int32
lenth = f.Length 得到文件的长度
Dim b(lenth) As Byte 定义一个字节类型的数组b,数组元素个数为文件长度
b = r.ReadBytes(lenth) 读出文件内容
Dim conStr As String = server=localhost;uid=sa;pwd=;database=newstudent
Dim conn As New SqlConnection(conStr) 定义数据库连接对象
conn.Open() 打开数据库连接
Dim sql As String 定义一个SQL命令
sql = insert into temp(id,name,photo) values(100001,王成,@b)
Dim cmd As New SqlCommand(sql, conn) 定义一个命令对象用来执行SQL命令
定义一个参数,类型为Image
Dim paramData As SqlParameter = New SqlParameter(@b, Sql
文档评论(0)