这篇文章将为大家详细讲解有关利用C#怎么从数据库中读取图片,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
数据库用的是SQL 2008,数据表中存放的是图片的二进制数据,现在把图片以一种图片格式(如.jpg)导出,然后存放于指定的文件夹中,实现方式如下:
byte[] bytImg = (byte[])myDAL.DbHelperSQL.Query("SELECT F_Photo FROM myTable WHERE ID=1").Tables[0].Rows[0][0]; if (bytImg != null) { MemoryStream ms = new MemoryStream(bytImg); Image img = Image.FromStream(ms); img.Save("D:\\me.jpg"); }
是windowform程序,数据库已经建好,图像以二进制形式存放在数据库的image表中,我想把符合查询条件的图像(大量)从数据库中读出,显示在form窗体上的一个控件(listview或imagelist还是picturebox?这个不知道那个合适),并保存到选择(或新建)的一个文件夹中
SqlDataAdapter da = new SqlDataAdapter("select * from newpicture", conn);//数据库连接,修改一下数据库的操作。 DataSet ds = new DataSet(); da.Fill(ds, "pic");//将符合条件的选项保存在数据集的pic表里 string picdotname; string picfilename; int piclength; int i; //添加新列 DataColumn newcolumn = ds.Tables["pic"].Columns.Add("pic_url", typeof(string));//给pic表添加新的一列pic_url,保存你的新写出的图片路径 for (i = 0; i < Convert.ToInt16(ds.Tables["pic"].Rows.Count); i++) { picdotname = ds.Tables["pic"].Rows[i]["pic_dot"].ToString();//图片的拓展名,你数据库要有这一列,如jpg piclength = Convert.ToInt32(ds.Tables["pic"].Rows[i]["pic_length"]);//数据流的长度 picfilename = Server.MapPath("新建的文件夹名/") + "添加图片名"+ "." + picdotname; FileStream fs = new FileStream(picfilename, FileMode.Create, FileAccess.Write); byte[] piccontent = new byte[piclength]; piccontent = (byte[])ds.Tables["pic"].Rows[i]["pic_content"]; fs.Write(piccontent, 0, piclength); fs.Close();//读出数据流写成图片 //最后把表绑定到控件上。 ds.Tables["pic"].Rows[i]["pic_url"] = "temp/temp" + i.ToString() + "." + picdotname;//意思给表pic的第i行,pic_url列里添加文件的路径值。 } //数据源 = ds.Tables["pic"];//数据绑定
关于利用C#怎么从数据库中读取图片就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。