欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#從數(shù)據(jù)庫(kù)讀取圖片并保存的兩種方法

 更新時(shí)間:2021年01月16日 10:22:08   作者:風(fēng)云SH變幻  
這篇文章主要介紹了C#從數(shù)據(jù)庫(kù)讀取圖片并保存的方法,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下

方式一:

數(shù)據(jù)庫(kù)用的是SQL 2008,數(shù)據(jù)表中存放的是圖片的二進(jìn)制數(shù)據(jù),現(xiàn)在把圖片以一種圖片格式(如.jpg)導(dǎo)出,然后存放于指定的文件夾中,實(shí)現(xiàn)方式如下:

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程序,數(shù)據(jù)庫(kù)已經(jīng)建好,圖像以二進(jìn)制形式存放在數(shù)據(jù)庫(kù)的image表中,我想把符合查詢條件的圖像(大量)從數(shù)據(jù)庫(kù)中讀出,顯示在form窗體上的一個(gè)控件(listview或imagelist還是picturebox?這個(gè)不知道那個(gè)合適),并保存到選擇(或新建)的一個(gè)文件夾中

SqlDataAdapter da = new SqlDataAdapter("select * from newpicture", conn);//數(shù)據(jù)庫(kù)連接,修改一下數(shù)據(jù)庫(kù)的操作。
DataSet ds = new DataSet();
da.Fill(ds, "pic");//將符合條件的選項(xiàng)保存在數(shù)據(jù)集的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();//圖片的拓展名,你數(shù)據(jù)庫(kù)要有這一列,如jpg
 piclength = Convert.ToInt32(ds.Tables["pic"].Rows[i]["pic_length"]);//數(shù)據(jù)流的長(zhǎng)度
 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();//讀出數(shù)據(jù)流寫成圖片
 //最后把表綁定到控件上。
 ds.Tables["pic"].Rows[i]["pic_url"] = "temp/temp" + i.ToString() + "." + picdotname;//意思給表pic的第i行,pic_url列里添加文件的路徑值。
}
//數(shù)據(jù)源 = ds.Tables["pic"];//數(shù)據(jù)綁定

大體是這樣吧,里面表名列名很多細(xì)節(jié)你按你的表修改吧!

以上就是C#從數(shù)據(jù)庫(kù)讀取圖片并保存的兩種方法的詳細(xì)內(nèi)容,更多關(guān)于c# 讀取圖片并保存的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C#使用OpenCvSharp4庫(kù)讀取電腦攝像頭數(shù)據(jù)并實(shí)時(shí)顯示

    C#使用OpenCvSharp4庫(kù)讀取電腦攝像頭數(shù)據(jù)并實(shí)時(shí)顯示

    OpenCvSharp4庫(kù)是一個(gè)基于.Net封裝的OpenCV庫(kù),本文主要給大家介紹了C#使用OpenCvSharp4庫(kù)讀取電腦攝像頭數(shù)據(jù)并實(shí)時(shí)顯示的詳細(xì)方法,感興趣的朋友可以參考下
    2024-01-01
  • 詳解C#編程中.NET的弱事件模式

    詳解C#編程中.NET的弱事件模式

    這篇文章主要介紹了C#編程中.NET的弱事件模式,深入討論了C#中相關(guān)的垃圾回收機(jī)制,需要的朋友可以參考下
    2015-07-07
  • C#反射調(diào)用拓展類方法實(shí)例代碼

    C#反射調(diào)用拓展類方法實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于C#反射調(diào)用拓展類方法的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-01-01
  • C#定時(shí)器組件FluentScheduler用法

    C#定時(shí)器組件FluentScheduler用法

    這篇文章介紹了C#定時(shí)器插件FluentScheduler的用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • 獲得.net控件的windows句柄的方法

    獲得.net控件的windows句柄的方法

    有一個(gè)簡(jiǎn)單的獲得控件的句柄的竅門。你將窗體設(shè)置為鼠標(biāo)可捕獲,那么你的窗口句柄可以通過(guò)使用Windows API捕獲。 這個(gè)想法在以下的GetHWnd函數(shù)中實(shí)現(xiàn):
    2013-04-04
  • C# 解析XML和反序列化的示例

    C# 解析XML和反序列化的示例

    這篇文章主要介紹了C# 解析XML和反序列化的示例,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-04-04
  • Unity shader實(shí)現(xiàn)高斯模糊效果

    Unity shader實(shí)現(xiàn)高斯模糊效果

    這篇文章主要為大家詳細(xì)介紹了Unity shader實(shí)現(xiàn)高斯模糊效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • C#模擬window操作鼠標(biāo)的方法

    C#模擬window操作鼠標(biāo)的方法

    這篇文章主要介紹了C#模擬window操作鼠標(biāo)的方法,可實(shí)現(xiàn)模擬鼠標(biāo)移動(dòng)到固定位置后點(diǎn)擊右鍵的功能,涉及鼠標(biāo)常用事件的操作技巧,需要的朋友可以參考下
    2015-07-07
  • C#華氏溫度和攝氏溫度相互轉(zhuǎn)換的方法

    C#華氏溫度和攝氏溫度相互轉(zhuǎn)換的方法

    這篇文章主要介紹了C#華氏溫度和攝氏溫度相互轉(zhuǎn)換的方法,涉及C#數(shù)學(xué)運(yùn)算的相關(guān)技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2015-07-07
  • C#實(shí)現(xiàn)軟件開(kāi)機(jī)自動(dòng)啟動(dòng)的兩種常用方法總結(jié)

    C#實(shí)現(xiàn)軟件開(kāi)機(jī)自動(dòng)啟動(dòng)的兩種常用方法總結(jié)

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)軟件開(kāi)機(jī)自動(dòng)啟動(dòng)的兩種常用方法,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下
    2023-07-07

最新評(píng)論