自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#編程實例-讀寫B(tài)inary

開發(fā) 后端
這里介紹C#編程實例-讀寫B(tài)inary,對于初學者來說是個不錯的參考性文章。Binary和文本方式的區(qū)別,主要是在一些特殊字符的處理。

關于Binary方式

Binary和文本方式的區(qū)別,主要是在一些特殊字符的處理。
由于在不同的系統(tǒng)中,文本中用于顯示格式的控制符編碼是不同的。比如windows 的文本回車是0x13 0x10兩個字符,而unix是0x10。如果是以文本方式打開,就會做一些轉換。這樣就不能保證從文件中讀取到的內(nèi)容和原來的完全一致,但能保證輸出文本是顯示的正確。而以Binary方式打開,內(nèi)容完全一致,但在不同系統(tǒng)上輸出可能不一樣。
如果你讀取的內(nèi)容需要由系統(tǒng)顯示,***用文本方式(由于很多C/C++編譯器的輸出函數(shù)能適用多種格式,所以用Binary方式通常也不會有問題)。如果要保證讀取的和文件一致,就一定要用Binary方式。

C#編程實例-讀寫B(tài)inary,對于初學者來說是個不錯的參考性文章。

  1. public MemoryStream getBlob(string SQL)   
  2. ...{   
  3. try   
  4. ...{   
  5. Db_Conn();   
  6. cmd = new OleDbCommand(SQL, Conn);   
  7. cmd.CommandType = CommandType.Text;//是sql   
  8. OleDbDataReader Rs = cmd.ExecuteReader();   
  9. if (Rs.Read()) //循環(huán)到下一條記錄   
  10. ...{   
  11. if (!(Rs.GetValue(0) is System.DBNull))   
  12. ...{   
  13. byte[] image_bytes = (byte[])Rs.GetValue(0);   
  14. MemoryStream ms = new MemoryStream(image_bytes);   
  15. return ms;   
  16. }   
  17. else   
  18. return null;   
  19. }   
  20. else   
  21. return null;   
  22. }   
  23. finally   
  24. ...{   
  25. this.close();   
  26. }   
  27. }   
  28. //設置blob   
  29. public bool SetBlob(string SQL, MemoryStream Ms)   
  30. ...{   
  31. try   
  32. ...{   
  33. Db_Conn();   
  34. cmd = new OleDbCommand(SQL, Conn);   
  35. cmd.CommandType = CommandType.Text;//是sql   
  36. int n=Convert.ToInt32(Ms.Length.ToString());   
  37. Ms.Position = 0;   
  38. byte[] pReadByte = new Byte[n];   
  39. Ms.Read(pReadByte, 0, n);   
  40. cmd.Parameters.Add("BLOB", OleDbType.Binary).Value = pReadByte;   
  41. cmd.ExecuteNonQuery();   
  42. return true;   
  43. }   
  44. catch (Exception ex)   
  45. ...{   
  46. MessageBox.Show("錯誤:因" + ex.Message + ",無法執(zhí)行:" + SQL);   
  47. return false;   
  48. }   
  49. finally   
  50. ...{   
  51. this.close();   
  52. }   

C#編程實例-讀寫B(tài)inary 調(diào)用getBlob代碼

  1. String sqlStr = "select content from dp where id=" + ID;  
  2. //content為dp中的BLOB字段,ID為主鍵   
  3. MemoryStream ms = DBClass.getBlob(sqlStr);   
  4. if (ms == null)   
  5. richTextBox.Clear();   
  6. else   
  7. ...{   
  8. if (ms.Length > 0)   
  9. ...{   
  10. ms.Position = 0;   
  11. try   
  12. ...{   
  13. richTextBox.LoadFile(ms, RichTextBoxStreamType.RichText);   
  14. }catch...{   
  15. richTextBox.LoadFile(ms, RichTextBoxStreamType.PlainText);   
  16. }   
  17. }else   
  18. richTextBox.Clear();   

C#編程實例-讀寫B(tài)inary 調(diào)用setBlob代碼

  1. String sqlStr = "update dp set content=:BLOB where id=" + ID;   
  2. MemoryStream ms = new MemoryStream();   
  3. richTextBox.SaveFile(ms, RichTextBoxStreamType.RichText);   
  4. if (!DBClass.SetBlob(sqlStr, ms))   
  5. ...{   
  6. MessageBox.Show("保存失敗");   

【編輯推薦】

  1. 介紹Mono C#編譯器
  2. C#運算符重載學習總結
  3. 概述C#語言的結構體
  4. C#遺傳算法學習筆記
  5. 討論C#分部方法
責任編輯:佚名 來源: cnbeta
相關推薦

2009-08-31 18:17:32

C#接口編程

2009-08-24 18:22:05

C# 泛型編程

2009-08-07 15:38:15

精通C#數(shù)據(jù)庫編程

2009-08-13 09:34:55

C#讀寫ini文件

2009-08-24 16:08:45

C# DrawStri

2009-08-27 13:30:11

C# interfac

2009-08-28 16:37:32

C# for循環(huán)

2009-08-24 09:55:26

C#接口轉換

2009-08-24 11:02:52

C#接口映射

2009-08-26 10:34:15

C#類型C#變量

2021-03-15 08:18:23

C#反射模塊

2009-08-12 14:13:51

C#讀寫Excel文件

2011-05-20 15:37:05

MemoryStrea

2009-08-20 10:53:23

C#操作內(nèi)存

2009-09-01 18:36:35

C#委托實例

2009-08-18 13:49:21

C# 操作Excel

2009-08-20 11:01:51

C#操作內(nèi)存

2009-09-11 12:31:52

C#實例詳解TypeConvert

2009-08-26 12:14:44

C#打印設置

2009-09-07 06:31:32

C#窗體移動
點贊
收藏

51CTO技術棧公眾號