将图像与文件名一起保存到 Access 数据库 C# 中

本文关键字:Access 数据库 保存 图像 文件名 一起 | 更新日期: 2023-09-27 18:33:36

我有一个连接到 Access 数据库的 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例外

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

将图像与文件名一起保存到 Access 数据库 C# 中

上传和下载 BLOB 以Microsoft访问 这将解释如何在 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)
)