程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> 用C#編程實現讀寫Binary

用C#編程實現讀寫Binary

編輯:關於C#

本文給出一個用 C# 編程實現讀寫 Binary 的實例代碼,對於初學者來說是個不可多得的參考性文章……

以下是引用片段:

//返回blob數據
public MemoryStream getBlob(string SQL)
...{
try
...{
Db_Conn();
cmd = new OleDbCommand(SQL, Conn);
cmd.CommandType = CommandType.Text;//是sql
OleDbDataReader Rs = cmd.ExecuteReader();
if (Rs.Read()) //循環到下一條記錄
...{
if (!(Rs.GetValue(0) is System.DBNull))
...{
byte[] image_bytes = (byte[])Rs.GetValue(0);
MemoryStream ms = new MemoryStream(image_bytes);
return ms;
}
else
return null;
}
else
return null;
}
finally
...{
this.close();
}
}
//設置blob
public bool SetBlob(string SQL, MemoryStream Ms)
...{
try
...{
Db_Conn();
cmd = new OleDbCommand(SQL, Conn);
cmd.CommandType = CommandType.Text;//是sql
int n=Convert.ToInt32(Ms.Length.ToString());
Ms.Position = 0;
byte[] pReadByte = new Byte[n];
Ms.Read(pReadByte, 0, n);
cmd.Parameters.Add("BLOB", OleDbType.Binary).Value = pReadByte;
cmd.ExecuteNonQuery();
return true;
}
catch (Exception ex)
...{
MessageBox.Show("錯誤:因" + ex.Message + ",無法執行:" + SQL);
return false;
}
finally
...{
this.close();
}
}

調用 getBlob

以下是引用片段:

String sqlStr = "select content from dp where id=" + ID;//content為dp中的BLOB字段,ID為主鍵
MemoryStream ms = DBClass.getBlob(sqlStr);
if (ms == null)
richTextBox.Clear();
else
...{
if (ms.Length > 0)
...{
ms.Position = 0;
try
...{
richTextBox.LoadFile(ms, RichTextBoxStreamType.RichText);
}catch...{
richTextBox.LoadFile(ms, RichTextBoxStreamType.PlainText);
}
}else
richTextBox.Clear();
}

調用setBlob

以下是引用片段:

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved