C 操作Access的Ole物件

2021-07-09 17:15:13 字數 1413 閱讀 9500

ole物件資料型別

(1)ole 物件用於使用 ole 協議在其他程式中建立的 ole 物件,如 microsoft word 文件、

microsoft excel 電子**、、聲音或其他二進位制資料。

(2)access中的ole物件對應到c#中的資料型別是二進位制的byte陣列,對應到oledbtype.binary型別。

使用方式和其他型別的字段使用方式是一樣的,如使用引數化方式:

oledbparameter param = new oledbparameter("@picture", oledbtype.binary);

(3)所以,我們可以把影象、聲音等檔案以二進位制形式儲存到access中去。

插入ole物件:

filestream filestream = new filestream(filename, filemode.open);

byte bfile = new byte[filestream.length];//分配陣列大小

filestream .read(bfile, 0, (int)filestream .length);//將檔案內容讀進陣列

filestream .close();//關閉檔案物件

oledbconnection conn = new oledbconnection(connstr);//建立連線

conn.open();//開啟連線

oledbcommand com = conn.createcommand();

//其中picture欄位是ole物件資料型別

com.commandtext = "insert into test(id, picture) values(@id, @picture)";

com.parameters.addwithvalue

("@id", 0); 

com.parameters.addwithvalue

("@picture", bfile); 

com.executenonquery();

讀取ole物件:

oledbconnection conn = new oledbconnection(connstr);

conn.open();

oledbcommand com = conn.createcommand();

com.commandtext = "select picture from test where id=0";

byte bfile = (byte)com.executescalar();//讀取之後轉換成二進位制位元組陣列

//處理二進位制位元組陣列

memorystream stream = new memorystream(bfile);

image img = image.fromstream(stream);//將二進位制位元組陣列還原成原本的影象

有關OLE物件的使用(1)

一 理論基礎 建立com元件有如下兩種方式。1。在開發過程中,客戶程式通常都是通過cocreateinstance 建立com物件,但這樣建立方式,客戶必須知道該com元件的clsid或progid。com庫通過id在登錄檔中找到com,並載入。通過指標陣列呼叫其內的函式。2。另一種建立方式,就是通...

C 連線 Access 操作

1 配置web.config檔案 配置資料庫連線引數 providername system.data.oledb 2 程式設計開始 1 按要求建立access資料庫及資料表 2 編寫資料庫訪問 操作的公用類,此類可以復用到以後開發的任何系統中 1 新建乙個c 類庫專案,命名為 com.lxj 設定...

c 操作Access的方法總結

c 操作access的方法總結 建立mdb 建立table 讀取table內容 查詢table中的內容 向table中插入資料 刪除table中的記錄 向table中插入 讀取table中的 等。另 本人水平有限,不當之處還請斧正。廢話少說,開始正題。文介紹c 訪問操作access資料庫的基礎知識,...