c# - 使用 C# 将文件附加到 MS Access 数据库

标签 c# attachment

我目前正在做一个项目。文档存储系统。我使用 C# windows 窗体和 MS Access 2010 作为我的数据库。我用于存储文档的表名为“文档”,有 2 列,即项目 ID 和文件(附件数据类型)。我现在可以使用 openfiledialog 浏览文件,但似乎无法上传。

这是我当前的上传按钮代码。

        con = new OleDbConnection(cs);
        con.Open();     
        String num = lblPnum.Text.ToString();
        string a = "INSERT INTO [Documents]([ProjectID]) VALUES('"+ num + "')";

        cmd = new OleDbCommand(a);
        cmd.Connection = con;
        cmd.ExecuteReader();
        con.Close();
        MessageBox.Show("Document Successfully Added", "Prompt", MessageBoxButtons.OK, MessageBoxIcon.Information);
        this.Close();
        FrmHome home = new FrmHome();
        home.Show();
        home.statusPanel.Text = statusPanel.Text;

目前,我已经可以根据我选择的项目编号获取项目ID。我需要添加什么才能将文件附加到我的数据库并将其显示到 gridview。

最佳答案

Microsoft Access 14.0 Object Library

是处理 Access 附件类型所必需的。示例代码如下。

    private void insertImageFileToMemo(String memoId)
    {
        var dbe = new DBEngine();
        Database db = dbe.OpenDatabase(@"D:\yourdatabase.accdb");
        try
        {
            Recordset rstMain = db.OpenRecordset(
                    "SELECT memoId,memoImage FROM MyMemo WHERE MemoID = '" + memoId + "'",
                    RecordsetTypeEnum.dbOpenDynaset);
            rstMain.Edit();
            Recordset2 rstAttach = rstMain.Fields["memoImage"].Value;
            rstAttach.AddNew();
            Field2 fldAttach = (Field2)rstAttach.Fields["FileData"];
            fldAttach.LoadFromFile("memofile1.jpg");
            rstAttach.Update();
            rstAttach.Close();
            rstMain.Update();
            rstMain.Close();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.ToString());
        }
    }

关于c# - 使用 C# 将文件附加到 MS Access 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35788071/

相关文章:

c# - 为什么继承的接口(interface)不能在通用上下文中转换为其基接口(interface)?

c# - 用文件 C# 填充锯齿状数组

c# - 无法验证在 C# 中创建的签名

c# - Azure DocumentDB异步请求问题

teamcity - 如何在 TeamCity 8.1 构建运行对话框中附加文件?

java - 用于发送带有附件的电子邮件的 Android Intent

android - 如何从 Android 应用程序发送/打开电子邮件附件?

c# - 如何使用 Google API 版本 2 在 Google Apps 日历中添加 "Attachment"?

c# - 如何将数据集设置为 .xsd 文件

PHP mail() 附件问题