C# 图片存入SQL Server数据库
时间:2021-07-01 10:21:17
帮助过:2人阅读
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控件上
C# 图片存入SQL Server数据库
标签: