




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C#讀寫SQL數據庫Image字段2009-01-31 19:27在用C#對數據庫Image字段 讀寫過程 中,遇到了一些問題,在網上搜索發現此類問題比較多,但是很少提供比 較全面的答案,在此我從對Image字段讀寫文件和讀寫圖片兩個方面談談我的認 識.在講主題之前,我應該闡明一點,數據庫的Image字段保存的是字節,所以寫 入數據庫Image字段和從數據庫Image字段讀取的內容都應該為字節.1、數據庫Image字段讀寫文件寫文件:寫文件的過程為將文件以流文件形式打開并將內容讀取到一個byte數組,然后將此byte數組寫入數據庫的Image字段。源碼:FileInfo finfo=new F
2、ileInfo("文件名"絕對路徑iffinfo.ExistsSqlConnection conn=new SqlConnection('連接字符串 "SqlCommand InsertCommand=new SqlCommand(;InsertCommand.Connection=conn;InsertCommand.CommandText="Insert into表 名(Image 字段 名 values(Content"InsertCommand.Parameters.Add("Content",SqlDbTy
3、pe.Image,(intfinfo.Length,"I mage字段名”;/注意,此處參數Size為寫入的字節數/讀取文件內容,寫入byte數組byte口 content=new bytefinfo.Length;FileStream stream=finfo.OpenRead(;stream.Read(content,0,content.Length;stream.Close(;InsertCommand.Parameters"Content".Value=content;的參數賦值 tryconn.Open(;InsertCommand.ExcuteNonQ
4、uery(;finallyconn.Close(;讀文件:讀文件的過程為從數據庫的Image字段讀取內容保存到byte數組,然后 將此byte數組以文件流形式寫入文件。源碼:byte口 content;SqlConnetion conn=new SqlConnection(旌接字符串 "SqlDataAdapter da=new SqlDataAdapter("Select Imag導段名 from 表名",conn; DataSet ds=new DataSet(;da.Fill(da,"word"DataRow dr=ds.Tables&q
5、uot;word".Rows0; 將讀取的第一行內容保存至 U drcontent=(bytedr"Image 字段名"int ArraySize=content.GetUpperBound(0;FileStream stream=new FileStream儀 件 名 ”,FileMode.OpenOrCreate,FileAccess.Write;stream.Write(content,0,ArraySize;stream.Close(;2、數據庫Image字段讀寫圖片綁定到控件的方式:通過將Image字段綁定到PictureBox實現。文件中我提供了一個實
6、例,要正常 運行需 要在Northwind中添加數據庫表Employees ,數據庫表的結構為 EmployeeID Int(4 自動增 長,FirstName nvarchar(10, LastName nvarchar(20, Photo image(16 null。直接用SqlCommand實現:其實把握住Image字段存的是byte類型數據,用SqlCommand實現添加、修改 就很簡 單了,跟文本的區別就是在讀出的時候需要將byte類型數據 轉化為Image圖片,在寫入時 需要將Image圖片以流的形式轉為為byte數組,然后再將byte數組保 存到Image字段。實例:comm =
7、 "Insert into MyEmployees(FirstName,LastName,Photo values(FName,LName,Photo"SqlCommand command=new SqlCommand(comm;command.Connection = conn;創建 Parametercommand.Parameters.Add("FName",SqlDbType.NVarChar;command.Parameters0.Value = textBox1.Text;command.Parameters.Add("LName&
8、quot;, SqlDbType.NVarChar;command.Parameters1.Value = textBox2.Text;command.Parameters.Add("Photo”,SqlDbType.Image;command.Parameters2.Value = imgByte;其中imgByte為Byte數組,通過FileStream的Read填充的byte數據。DataRow dr = dt.Tables0.Rows0;byte口 br = null;MemoryStream ms = new MemoryStream(;if (dr"image1".ToString( !=""br = (bytedr"image1"ms = new MemoryStream(br, 0, br.Length;this.pictureBoxl.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教學工作參考總結高三語文教師期末個人參考總結
- 篷布遮陽篷在商業建筑的裝飾效果考核試卷
- 五年級下冊各單元好詞好句盤點
- 5-16一般同步時序電路的設計1-原始狀態轉移表的建立
- 北京市西城區北京師范大學附屬實驗中22024?2025學年學高一下學期階段測試一(3月) 數學試題(含解析)
- 晉城職業技術學院《誤差理論與測量平差基礎》2023-2024學年第一學期期末試卷
- 天津鐵道職業技術學院《風景園林專業導論課》2023-2024學年第二學期期末試卷
- 吉林省長春市汽開區達標名校2025屆重點高中聯盟領軍考試4月初三化學試題(文)試題含解析
- 天津大學《大學生創新創業與就業指導》2023-2024學年第一學期期末試卷
- 吉林醫藥學院《現代公司理論與實務》2023-2024學年第二學期期末試卷
- 志愿者知識競賽題庫二
- uwave微波腔體濾波器分析綜合專用軟件
- 排土場災害防治技術
- 消防設施安全操作規程
- 植物的光合作用生理生態
- 項目三任務1知識點1課程思政√
- 08K507-1 管道與設備絕熱-保溫(有水印)
- 公差疊加計算表
- 中國政法知識產權訴訟專題講座:知識產權訴訟攻防策略與技巧
- 血栓彈力圖在ICU應用
- MT 491-1995煤礦防爆蓄電池電機車通用技術條件
評論
0/150
提交評論