/asp教程.net 图片保存sql server并显示图片的方法
private void form1_load(object sender, eventargs e)
{
filestream fs = new filestream(@"c:e06d3510ebfde555cb80c4de.jpg", filemode.open);
int ilength = int.parse(fs.length.tostring());//获取当前文件的长度
byte[] filebyte = new byte[ilength];//创建一个byte[]的数组,用来保存文件的内容
fs.read(filebyte, 0, ilength);//通过read方法,把文件的内容读取到byte[]数组中。
fs.dispose();
sqlconnection conn = new sqlconnection(@"server=localhost;integrated security=sspi;initial catalog=qq");
//插入数据库教程
string strsql = "insert into tbl_image (img) values(@img)";
sqlcommand cmd = new sqlcommand(strsql, conn);
cmd.parameters.add("@img", sqldbtype.image, ilength).value = filebyte;
//通过赋值保存的图片的参数的值,为sqldbtype.binary
conn.open(); //打开连接
cmd.executenonquery(); //执行命令
conn.close();
}
//显示数据库中的图片
private void button1_click(object sender, eventargs e)
{
byte[] filecontent;
using (sqlconnection conn = new sqlconnection(@"server=localhost;integrated security=sspi;initial catalog=qq"))
{
string strsql = "select img from tbl_image";
sqlcommand cmd = new sqlcommand(strsql, conn);
conn.open();
sqldatareader dr = cmd.executereader();
//以上步骤完成一般的sqlcommand的命令的执行,
//返回了一个sqldatareader把图片的内容赋值到一个byte[]数组上。
if (dr.read())
{
filecontent = (byte[])dr["img"];
}
else
{
filecontent = new byte[0];
}
dr.close();
}
memorystream ms = new memorystream(filecontent, 0, filecontent.length);
this.pbshowimage.image = image.fromstream(ms);
//关闭内存流
ms.close();
}