2012-05-09 42 views
0

我將ac#應用程序綁定到訪問數據庫,然後使用openfiledialog查找圖像,然後顯示有關此的詳細信息,然後我想保存這到數據庫。但是,當我嘗試這樣做時,我得到一個錯誤,說它太大了。那麼這是怎麼回事?我想保存文件路徑,然後在主窗口稍後查看它。將圖像和文件名一起保存到訪問數據庫中c#

private void button2_Click(object sender, EventArgs e) 
    { 
     DataRow drNewRow = m_dtMedia.NewRow(); 
     drNewRow["File_Path"] = textBox1.Text; 
     drNewRow["Subject"] = textBox2.Text; 
     drNewRow["Title"] = textBox3.Text; 
     drNewRow["Keyword_Search"] = textBox4.Text; 
     drNewRow["MediaType"] = textBox5.Text; 
     m_dtMedia.Rows.Add(drNewRow); 

     m_daDataAdapter.Update(m_dtMedia); 
     m_rowPosition = m_dtMedia.Rows.Count - 1; 
     this.ShowCurrentRecord(); 
     this.Close(); 

這個工程,我已經在短短的信件試圖打字,它會保存和更新數據庫,在另一方面犯規保存圖像。

消息

OLEDB異常被維持原判

領域的錯誤是太小,無法接受數據的你試圖添加量。嘗試插入或粘貼更少的數據。

+0

你得到了什麼錯誤訊息? – animaonline

+0

編輯錯誤。 –

+0

檢查Access中的列的最大長度。你知道這只是將文件名存儲在數據庫中,而不是圖像本身,對嗎? –

回答

2

Uploading and Downloading BLOBs to Microsoft Access這將解釋如何在Access數據庫中存儲圖像。

Microsoft Access將BLOB數據存儲在具有OLE對象 數據類型的字段中。如果您是從SQL語句創建表的 ,則數據類型爲IMAGE (與SQL Server類似)。

例如

CREATE TABLE File (
    FileName VARCHAR(255), 
    Size INT, 
    Type VARCHAR(255), 
    DateUploaded DATETIME, 
    File IMAGE, 
    CONSTRAINT File_PK PRIMARY KEY(FileName) 
) 
+0

值的類型與列類型不匹配無法在File_Path列中存儲。預期類型是Byte []。這是我將字段更改爲OLE後出現的錯誤 –

+0

@Joshua Hornby:請訪問我的答案中的鏈接。該鏈接解釋瞭如何在MS Access中保存圖像。它也具有所有必需的代碼。 – jams

相關問題