OpenFileDialog openfiledialog1 =
new
OpenFileDialog();
if
(openfiledialog1.ShowDialog() ==
DialogResult.OK)
{
textBox1.Text
= openfiledialog1.FileName;
//
文件路径
}
string
imageName = DateTime.Now.ToString(
"
yyyymmddhhMMss
"
);
//
生成文件名到数据库
FileStream fs
=
new
FileStream(textBox1.Text, FileMode.Open);
BinaryReader br
=
new
BinaryReader(fs);
Byte[] byData
= br.ReadBytes((
int
)fs.Length);
//
生成二进制流
fs.Close();
//
将图片转化为二进制流,存入数据库
string
conn =
"
server=.;database=ImageDB;Uid=sa;Pwd=1234
"
;
SqlConnection myconn
=
new
SqlConnection(conn);
myconn.Open();
string
str =
"
insert into ImageFile (ImageName,ImageContext) values(@name,@file)
"
;
SqlCommand mycomm
=
new
SqlCommand(str, myconn);
mycomm.Parameters.Add(
"
@file
"
, SqlDbType.Binary, byData.Length);
mycomm.Parameters[
"
@file
"
].Value =
byData;
mycomm.Parameters.Add(
"
@name
"
, SqlDbType.NVarChar,
50
);
mycomm.Parameters[
"
@name
"
].Value =
imageName;
mycomm.ExecuteNonQuery();
//
将二进制流写入数据库,对应数据库IMAGE类型
myconn.Close();
//
将二进制流转化为IMAGE
str =
"
select top 1 ImageContext from ImageFile where ImageName='
"
+ imageName +
"
'
"
;
myconn
=
new
SqlConnection(conn);
SqlDataAdapter sda
=
new
SqlDataAdapter(str, conn);
DataSet myds
=
new
DataSet();
myconn.Open();
sda.Fill(myds);
myconn.Close();
Byte[] Files
= (Byte[])myds.Tables[
0
].Rows[
0
][
"
ImageContext
"
];
MemoryStream ms
=
new
MemoryStream(Files);
Image i
=
Image.FromStream(ms);
pictureBox1.Image
= i;
//
绑定到pictureBox1控件上

