gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 15:24:53 24 4
gpt4 key购买 nike

我目前正在做一个项目。文档存储系统。我使用 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com