c#form+mysql儲存讀取圖片_C#從SQL server數據庫中讀取l圖片和存入圖片

本實例主要介紹如何將圖片存入數據庫。將圖片存入數據庫,首先要在數據庫中建立一張表,將存儲圖片的字段類型設為Image類型,用FileStream類、BinaryReader把圖片讀成字節的形式,賦給一個字節數組,然后用ADO.SqlCommand對象的ExecuteNonQuery()方法來把數據保存到數據庫中。主要代碼如下:

private void button1_Click(object sender, EventArgs e)

{

openFileDialog1.Filter = "*jpg|*.JPG|*.GIF|*.GIF|*.BMP|*.BMP";

if(openFileDialog1.ShowDialog()==DialogResult.OK)

{

string fullpath =openFileDialog1.FileName;//文件路徑

FileStream fs = new FileStream(fullpath, FileMode.Open);

byte[] imagebytes =new byte[fs.Length];

BinaryReader br = new BinaryReader(fs);

imagebytes = br.ReadBytes(Convert.ToInt32(fs.Length));

//打開數據庫

SqlConnection con = new SqlConnection("server=(local);uid=sa;pwd=;database=db_05");

con.Open();

SqlCommand com = new SqlCommand("insert into tb_08 values(@ImageList)",con);

com.Parameters.Add("ImageList", SqlDbType.Image);

com.Parameters["ImageList"].Value = imagebytes;

com.ExecuteNonQuery();

con.Close();

}

}

本實例主要介紹如何從數據庫中把圖片讀出來。實現本實例主要是利用SqlDataReader從數據庫中把Image字段值讀出來,賦給一個byte[]字節數組,然后使用MemoryStream類與Bitmap把圖片讀取出來。主要代碼如下:

private void button1_Click(object sender, EventArgs e)

{

byte[] imagebytes = null;

//打開數據庫

SqlConnection con = new SqlConnection("server=(local);uid=sa;pwd=;database=db_05");

con.Open();

SqlCommand com = new SqlCommand("select top 1* from tb_09", con);

SqlDataReader dr = com.ExecuteReader();

while (dr.Read())

{

imagebytes = (byte[])dr.GetValue(1);

}

dr.Close();

com.Clone();

con.Close();

MemoryStream ms = new MemoryStream(imagebytes);

Bitmap bmpt = new Bitmap(ms);

pictureBox1.Image = bmpt;

}

本實例主要介紹如何只允許輸入指定圖片格式。用OpenFileDialog控件打開圖片文件,只要將OpenFileDialog控件的Filter屬性指定為特定的圖片格式即可。例如,打開.bmp文件的圖片,主要代碼如下:

this.openFileDialog1.Filter = "bmp文件(*.bmp)|*.bmp";

在用pictureBox控件輸入圖片時,要想統一圖片大小,只需把控件的SizeMode屬性值設為StretchImage即可,StretchImage值表示圖像的大小將調整為控件的大小。這樣,圖片的大小就統一了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/270585.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/270585.shtml
英文地址,請注明出處:http://en.pswp.cn/news/270585.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

if...else..的錯誤用法

1.最近在寫js代碼完成一個前段DOM操作的函數時,自己錯誤的使用了if..else..控制體。為什么是錯誤的呢?看看我的 代碼你就明白了: 1 document.getElementsByClassName(eButton)[0].οnclickfunction(){2 var checkeddocument.getElementsB…

Git服務器報錯:host key for (ip地址) has changed and you have requested strict checking

一:報錯提示 如下: WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key …

軟件:常用 Linux 軟件匯總,值得收藏

目錄 1、音頻軟件 2、聊天軟件 3、數據備份與恢復 4、桌面個性化工具 5、開發必備 6、 電子書工具 7、 編輯器軟件 8、教育軟件 9、電子郵件軟件 10、文件管理器 11、娛樂游戲 12、 圖形工具 13、互聯網瀏覽 14、 辦公效率工具 15、 生產力效率工具 16、 安全防護 17、文件共享…

java上下文即ServletContext

上下文即ServletContext,是一個全du局的儲存信zhi息的空間,服務器啟動,其就dao存zhuan在,服務器關閉,其才釋放。 所有用戶共用一個ServletContext。所以,為了節省空間,提高效率,ServletContext中…

數據幀,數據包,報文段,報文,分組,數據包的概念和區別

應用層——消息傳輸層——數據段(segment)網絡層——分組、數據包(packet)鏈路層——幀(frame)物理層——P-PDU(bit)分組、包,packet,信息在互聯網當中傳輸的單元,網絡層…

python開源自動化測試平臺_8款開源自動化測試框架,速速收藏

原標題:8款開源自動化測試框架,速速收藏來源:http://www.51testing.com/近年來, 自動化測試越來越熱門,該領域新的挑戰和機遇也在同步產生,尤其是AI,RPA和機器學習,可以預見會在幾年…

SpringBoot集成Redis用法筆記

今天給大家整理一下SpringBoot集成Redis用法筆記,希望對大家能有所幫助!一、Redis優點介紹1、速度快不需要等待磁盤的IO,在內存之間進行的數據存儲和查詢,速度非常快。當然,緩存的數據總量不能太大,因為受到…

tomcat和servlet的關系

tomcat和servlet的關系 Tomcat 是Web應用服務器,是一個Servlet/JSP容器. Tomcat 作為Servlet容器,負責處理客戶請求,把請求傳送給Servlet,并將Servlet的響應傳送回給客戶.而Servlet是一種運行在支持Java語言的服務器上的組件. Servlet最常見的用途是擴展Java Web服務器功能,提…

Linux常用遠程連接工具介紹,總有一款適合你

目錄 1、xshell 2、winscp 3、PuTTY 4、MobaXterm 5、FinalShell 今天給大家推薦Linux常用遠程連接工具,希望對大家能有所幫助! 1、xshell 介紹: xshell是一個非常強大的安全終端模擬軟件,它支持SSH1, SSH2, 以及Windows平臺的TEL…

python高性能寫法_py 高性能低級,高級寫法思考

這里所謂的低級,高級是指封裝抽象的程度。低級指os.fork()高級是指 multiprocessing包一般根據業務需求,一個主進程負責維護接收, 不同的子進程處理不同的需求。根據各同需求組合多進程多線程多進程+多線程協程也可基于uvloop事件…

Linux遠程管理協議相關知識介紹

一、什么是遠程管理遠程管理,實際上就是計算機(服務器)之間通過網絡進行數據傳輸(信息交換)的過程,與瀏覽器需要 HTTP 協議(超文本傳輸協議)瀏覽網頁一樣,遠程管理同樣需…

使用ArcGIS JavaScript API 3.18 加載天地圖

對于中國開發者在創建GIS應用的時候,往往比較頭疼的是底圖資源的缺乏。其實國家測繪地信局就提供一個很好的免費資源:天地圖。使用ArcGIS API的開發人員可以直接利用該資源作為地圖應用的底圖。 ArcGIS JavaScript API最近新推出了3.18版本。所以下面示例…

潛力的監控mysql_Grafana 數據庫監控平臺

Grafana 數據庫監控平臺簡介Grafanademo 地址:官方demo文檔可以下載pdf離線閱讀Percona監控和管理(PMM)是一個用于管理和監控MySQL和MongoDB性能的開源平臺。它由Percona與托管數據庫服務,支持和咨詢領域的專家合作開發。PMM是一種免費的開源解決方案&am…

PC軟件:推薦七款Windows下寶藏軟件

目錄 一、uTools 效率神器 二、Groupy 窗口切換神器 三、Revo Uninstaller 卸載神器 四、Universal Viewer 五、VectorMagic 六、QuickLook 文件預覽神器 七、Bandizip 壓縮神器 今天給大家推薦七款Windows下軟件,每一個都值得擁有。 一、uTools 效率神器 一個可以幫…

職坐標 MySQL視頻_測試工具之MySQLSlap使用實例

myisam摘要: 一、Mysqlslap介紹   mysqlslap是MySQL5.1之后自帶的benchmark基準測試工具,類似Apache Bench負載產生工具,生成schema,裝載數據,執行benckmark和查詢數據,語法簡單,靈活&#xf…

Linux計劃任務(at,crontab)

在LINUX中,我們通過crontab和at這兩個東西來實現 at:它是一個可以處理僅執行一次就結束的指令 crontab:它是會把你指定的工作或任務,比如:腳本等,按照你設定的周期一直循環執行下去 1.at計劃任務的使用 語…

硬件:筆記本電腦7大分類總結,看完你就明白了

目錄 游戲本 超極本 輕薄本 學生本 商務本 二合一電腦 上網本 今天給大家分享筆記本電腦7大場景分類,看完你就明白了! 游戲本 游戲本最早由外星人和微星推出,在90年代就引起了眾多游戲玩家的熱捧。目前游戲本在筆記本電腦市場可謂是超級火爆&…

數字反轉

3.數字反轉 Description: 給定一個整數,請將該數各個位上數字反轉得到一個新數。新數也應滿足整數的常見形式,即除非給定的原數為零,否則反轉后得到的新數的最高位數字不應為零(參見樣例2)。 Input&#xf…