C# 图片存入SQL Server数据库
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数据库
标签:
查看更多关于C# 图片存入SQL Server数据库的详细内容...
阅读:24次