我有一些任务。我必须实现一个文本编辑器,能够将文件保存到/从ms访问数据库下载文件,但我不知道该怎么做。有我的尝试(它不起作用,只保存文件)。我知道,这很愚蠢,但是..
OleDbCommand cmd = new OleDbCommand();
OleDbConnection cn = new OleDbConnection(
@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=....Database1.accdb;Persist Security Info=True");
private void Button_Click_2(object sender, RoutedEventArgs e)
{
if(textBox1.Text != null)
{
FileInfo file = new FileInfo(textBox1.Text.ToString() + ".dat");
using (BinaryWriter bw = new BinaryWriter(file.OpenWrite()))
{
string text = textBox2.Text.ToString();
bw.Write(text);
try
{
cn.Open();
cmd.CommandText = "INSERT INTO info ( files.FileData ) values (@file)";
cmd.Parameters.Add("@file", file);
cmd.ExecuteNonQuery();
cn.Close();
}
catch (Exception ex)
{
cn.Close();
MessageBox.Show(ex.Message.ToString());
}
textBox1.Text = null;
textBox2.Text = null;
}
}
}
有没有办法直接将文件上传到数据库?
如果按照您对问题的评论中所建议的那样,您希望将文件存储在 Access 数据库的 Attachment
字段中,那么在另一个问题中有一个 C# 代码:
将图像存储到 Access 数据库的"附件"字段中
笔记:
- 使用
SQL 无法将文件附加到数据库记录。您需要使用 ACE DAO(如上面引用的文章所示)。
某些文件类型被阻止进入附件字段。此处的Microsoft支持文章中列出了这些文件类型。