如何在 C# 上将 *.dat(或 *.txt)文件插入 MS Access 数据库
How to insert *.dat (or *.txt) file into MS Access DB on C#
我有一些任务。我必须实现一个文本编辑器,它能够将文件保存到/从 MS Access 数据库下载文件,但我不知道该怎么做。
这是我的尝试(它不起作用。只保存文件)。我知道,这很愚蠢,但是..
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# 代码:
Storing an image into an Attachment field in an Access database
备注:
无法使用 SQL 将文件附加到数据库记录。您需要使用 ACE DAO(如上面引用的文章中所示)。
某些文件类型在附件字段中被阻止。 Microsoft 支持文章 here.
中列出了这些文件类型
我有一些任务。我必须实现一个文本编辑器,它能够将文件保存到/从 MS Access 数据库下载文件,但我不知道该怎么做。 这是我的尝试(它不起作用。只保存文件)。我知道,这很愚蠢,但是..
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# 代码:
Storing an image into an Attachment field in an Access database
备注:
无法使用 SQL 将文件附加到数据库记录。您需要使用 ACE DAO(如上面引用的文章中所示)。
某些文件类型在附件字段中被阻止。 Microsoft 支持文章 here.
中列出了这些文件类型