将图像与文件名一起保存到访问数据库中c#

时间:2012-05-09 18:49:16

标签: c# winforms

我有一个连接到访问数据库的c#应用程序,然后我使用openfiledialog查找图像,然后显示有关此内容的详细信息,然后我想将其保存到数据库中。但当我尝试这样做时,我得到一个错误,说它太大了。那么这是怎么回事?我想保存文件路径,然后可以在我的主窗口中查看它。

 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异常

该字段太小,无法接受您尝试添加的数据量。尝试插入或粘贴较少的数据。

1 个答案:

答案 0 :(得分: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)
)