zoukankan
html css js c++ java
保存/读取图片到数据库
private
void
SaveImage(
string
fileName)
{
//
Read the file into a byte array
using
(FileStream fs
=
new
FileStream(fileName, FileMode.Open, FileAccess.Read))
{
byte
[] imageData
=
new
Byte[fs.Length];
fs.Read(imageData,
0
, (
int
)fs.Length);
using
(SqlConnection conn
=
new
SqlConnection(connectionString))
{
string
sql
=
"
insert into image (imagefilename,blobdata) values (@filename,@blobdata)
"
;
SqlCommand cmd
=
new
SqlCommand(sql, conn);
cmd.Parameters.Add(
"
@filename
"
,SqlDbType.Text);
cmd.Parameters[
"
@filename
"
].Direction
=
ParameterDirection.Input;
cmd.Parameters.Add(
"
@blobdata
"
, SqlDbType.Image);
cmd.Parameters[
"
@blobdata
"
].Direction
=
ParameterDirection.Input;
//
Store the byte array within the image field
cmd.Parameters[
"
@filename
"
].Value
=
fileName;
cmd.Parameters[
"
@blobdata
"
].Value
=
imageData;
conn.Open();
if
(cmd.ExecuteNonQuery()
==
1
)
{
MessageBox.Show(
"
Done
"
);
}
}
}
}
private
void
LoadImage(
string
fileName)
{
using
(SqlConnection conn
=
new
SqlConnection(connectionString))
{
string
sql
=
"
select blobdata from Image where ImageFileName like @filename
"
;
SqlCommand cmd
=
new
SqlCommand(sql, conn);
cmd.Parameters.Add(
"
@filename
"
, SqlDbType.Text);
cmd.Parameters[
"
@filename
"
].Value
=
fileName;
conn.Open();
object
objImage
=
cmd.ExecuteScalar();
byte
[] buffer
=
(
byte
[])objImage;
BinaryWriter bw
=
new
BinaryWriter(
new
FileStream(
"
C:\\abcd.png
"
, FileMode.Create));
bw.Write(buffer);
bw.Close();
MemoryStream ms
=
new
MemoryStream(buffer);
Image bgImage
=
Image.FromStream(ms);
ms.Close();
this
.BackgroundImage
=
bgImage;
}
}
查看全文
相关阅读:
对C#中的Close()和Dispose()的浅显理解
SqlParameter类中的两对好基友:SqlDbType与DbType、SqlValue与Value
C#通过获取快捷方式指向目标的小示例触碰WMI
小心UAC
【TSQL】获取指定日期的常用前后节点(月初月末周一周末等等)
弹出移动设备时报正在使用肿么办
再获殊荣!霍格沃兹荣获腾讯金课堂「教育突破奖」
实战 | 电商业务的性能测试(一): 必备基础知识
接口测试框架实战(二)| 接口请求断言
测试老鸟总结的 16 个测试改进 Tips ,让你少走弯路!
原文地址:https://www.cnblogs.com/sskset/p/591771.html
最新文章
上海有利软件
Take Me To Your Heart 吻别英文版
通过Attached Property给控件绑定Command(三)
通过Attached Property给控件绑定Command(二)
Linq使用心得——SelectMany替代二重foreach循环
Linq使用心得——伪造一个SelectMany
造假造上瘾——仿造yield关键字(一)
【翻译】Windows Phone运行模型概述
通过Attached Property给控件绑定Command(一)
造假造上瘾——仿造yield关键字(二)
热门文章
实现在文本(命令行)模式下浏览中文网页
修改Linux文本(命令行)模式的分辨率
在Linux下巧下载
从string对象中去掉标点符号
算法设计与分析课后习题3.2
Linux命令行下终止当前程序的快捷键
Firefox3.1b1终于能进QQ空间了!!!
在Linux下用sopcast/qsopcast收看网络电视
算法设计与分析课后习题3.5
强大的ackermann函数
Copyright © 2011-2022 走看看