首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

用 C# 程式設計實現讀寫 Binary 大物件(二):getBlob/setBlob 封裝方法調用範例

     編輯:關於C語言

調用 getBlob 讀取 BLOB 欄位至 RichTextBox


string sql = "SELECT content FROM dp WHERE id = " + ID; // content 為 BLOB 欄位
MemoryStream ms = DBClass.GetBlob(sql);
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 將 RichTextBox 內容寫入 BLOB 欄位


string sql = "UPDATE dp SET content = :BLOB WHERE id = " + ID;
MemoryStream ms = new MemoryStream();
richTextBox.SaveFile(ms, RichTextBoxStreamType.RichText);
if (!DBClass.SetBlob(sql, ms))
    MessageBox.Show("儲存失敗");

關鍵點說明

  • MemoryStream 作為中介緩衝區,避免暫存檔
  • RichTextBoxStreamType.RichText 保留格式 (RTF);失敗時回退 PlainText
  • ms.Position = 0 讀取前必須歸零,否則從尾端讀取得到空資料
  • 參數化查詢 :BLOB 寫法視具體資料庫提供者而定 (OleDb 用 ?、SqlClient 用 @param)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved