C#操作数据库中存取图片文件的方法
本文实例讲述了C#操作数据库中存取图片文件的方法。分享给大家供大家参考。具体如下:
privatestringsqlconnstr="DataSource=.;Database=db_test;Userid=sa;PWD=123456";
/*功能:把一种图片插入到数据库中
*返回值:无
*/
voidInsertImageToDB()
{
//将需要存储的图片读取为数据流
FileStreamfs=newFileStream(@"D:/Bear.jpg",FileMode.Open,FileAccess.Read);
Byte[]byte_fs=newbyte[fs.Length];
fs.Read(byte_fs,0,Convert.ToInt32(fs.Length));
fs.Close();
//建立数据库连接
SqlConnectionconn=newSqlConnection(sqlconnstr);
conn.Open();
SqlCommandcmd=newSqlCommand();
cmd.Connection=conn;
cmd.CommandText="insertintotb_test(image_id,image_file)values(@image_id,@image_file)";
SqlParameter[]param=newSqlParameter[2];
param[0]=newSqlParameter("@image_id",SqlDbType.Int);
param[0].Value=1;
param[1]=newsqlParameter("@image_file",SqlDbType.Image);
param[1].Value=byte_fs;
for(intindex=0;index<2;index++)
{
cmd.Parameters.Add(param[i]);
}
//执行SQL语句
cmd.ExecuteNonQuery();
conn.Close();
}
/*功能:从数据库中读取图像文件,并显示在PictureBox控件中
*返回值:无
*/
voidGetImageFromDB()
{
byte[]Data=newbyte[0];
//建立数据库连接
SqlConnectionconn=newSqlConnection(sqlconnstr);
conn.Open();
SqlCommandcmd=newSqlCommand();
cmd.Connection=conn;
cmd.CommandText="select*fromtb_parent";
SqlDataReadersdr=cmd.ExecuteReader();
sdr.Read();
Data=(byte[])sdr["parent_image"];//读取第一个图片的位流
MemoryStreammystream=newMemoryStream(Data);
//用指定的数据流来创建一个image图片
System.Drawing.ImagepicbImage=System.Drawing.Image.FromStream(mystream,true);
mystream.Close();
picturebox1.Image=picbImage;
conn.Close();
}
希望本文所述对大家的C#程序设计有所帮助。