- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
sql server存储图片
2011-09-14 20:17?55人阅读?评论(8)?收藏?举报
一般情况下,将图片保存在服务器的某个目录下,在数据库中存储此图片的地址,这样做的好处很明显
可以节省数据库的存储空间
当数据库崩溃后,图片资源不会丢失
向数据库中插入图片时,需要先将图片压缩成二进制表示形式,而从数据库中查询图片时,则需要将二进制流转换为图片,这在频繁查询时会影响程序的性能
....
下面从纯技术的角度解释如何将图片插入数据库中。
首先在sql server中新建一个表Images,sql语句如下:
view plain
create?table?Images??
(??
?BLODID?int?identity?not?null,??
?BLOBData?image?not?null??
)??
?
其中 BLOBData字段采用image数据类型,这是sql server中用于存储图片的一种数据类型
下面阐述一下程序的思路
点击“浏览”按钮打开选择对话框,用户可以选择想要存储到数据库中的图片
点击“存储图片”按钮,将图片插入到数据库中
点击”读取图片“按钮,将图片从数据库中查询出来
具体步骤如下:
新建一个winform窗体,放置一个文本框,两个按钮,一个OpenFileDialog控件,一个PictureBox控件
????? 界面布局图下:
?????? 2.声明全局变量filename:
view plain
private?string?filename?=?string.Empty;??
在”浏览“按钮的单击事件中添加如下代码:
view plain
if?(this.openFileDialog1.ShowDialog()?==?DialogResult.OK)??
????????????{??
????????????????filename?=?this.openFileDialog1.FileName;??????????????????
????????????}??
?
???? 3.在”存储图片“按钮的单击事件中添加如下代码:
view plain
try??
???????????{??
???????????????string?strConn?=?user?id=sa;password=sa;initial?catalog=MyTest;Server=YHB;Connect?Timeout=30;??
???????????????SqlConnection?connection?=?new?SqlConnection(strConn);??
???????????????string?sql?=?insert?into?Images?(blobdata)?values?(@blobdata);??
???????????????SqlCommand?command?=?new?SqlCommand(sql,?connection);??
???????????????//图片路径??
???????????????string?picturePath?=?@D:\My?Documents\My?Pictures\000_d74047f595809456636fd470a00f0ff8.jpg;??
????????????????????????????????????????????????
???????????????FileStream?fs?=?new?FileStream(picturePath,?FileMode.Open,?FileAccess.Read);???
???????????????Byte[]?mybyte?=?new?byte[fs.Length];??????????????????
???????????????fs.Read(mybyte,0,mybyte.Length);??
???????????????fs.Close();??????????????????
???????????????SqlParameter?prm?=?new?SqlParameter??
@blobdata,?SqlDbType.VarBinary,?mybyte.Length);??
???????????????prm.Value?=?mybyte;??
???????????????command.Parameters.Add(prm);??
?????????????????
???????????????connection.Open();??
???????????????command.ExecuteNonQuery();??
????
您可能关注的文档
- SectionA内容详解11.doc
- SD卡在单片机上的应用以和SD卡引脚电路图和工作原理介绍.doc
- securecrt使用教程、SecureCRT配置详细图文教程.docx
- selenium集成到eclipse的方法.doc
- seo为何物玩法技巧又该何去何从呢(1).doc
- SEO网络推广方案策划.doc
- SerialPort控件的使用.doc
- Server2008文件夹共享的设置.doc
- Sfxkpy期货基础知识考试重点.doc
- SFC顺序功能图教程.doc
- 中国国家标准 GB/T 18233.4-2024信息技术 用户建筑群通用布缆 第4部分:住宅.pdf
- GB/T 18233.4-2024信息技术 用户建筑群通用布缆 第4部分:住宅.pdf
- GB/T 18978.210-2024人-系统交互工效学 第210部分:以人为中心的交互系统设计.pdf
- 《GB/T 18978.210-2024人-系统交互工效学 第210部分:以人为中心的交互系统设计》.pdf
- 中国国家标准 GB/T 18978.210-2024人-系统交互工效学 第210部分:以人为中心的交互系统设计.pdf
- GB/T 16649.2-2024识别卡 集成电路卡 第2部分:带触点的卡 触点的尺寸和位置.pdf
- 《GB/T 16649.2-2024识别卡 集成电路卡 第2部分:带触点的卡 触点的尺寸和位置》.pdf
- 中国国家标准 GB/T 16649.2-2024识别卡 集成电路卡 第2部分:带触点的卡 触点的尺寸和位置.pdf
- GB/T 17889.4-2024梯子 第4部分:铰链梯.pdf
- 《GB/T 17889.4-2024梯子 第4部分:铰链梯》.pdf
文档评论(0)