如何将文件插入访问数据库

时间:2012-01-14 16:57:24

标签: c# ms-access

我搜索整个网站和文章,但我找不到它。如何将文件插入访问数据库(在桌面应用程序中)。请有人帮助我。

5 个答案:

答案 0 :(得分:1)

在表格中创建一个类型为LONGBINARY的列,并将该文件存储在该列中

文章Reading, Storing, & Writing Binary Large Objects (BLOBs)解释了如何实现它

答案 1 :(得分:0)

简短回答:你做不到。答案:您可以阅读它们,将它们转换为blob并将它们存储为二进制字段,以及文件名和内容,模拟文件系统。但是,这可能不是解决问题的最佳方案。注意详细说明你的问题?

答案 2 :(得分:0)

这是一篇文章,告诉您如何使用Access 2007 attach files and graphics to the records in your database。这是您正在寻找的吗?

答案 3 :(得分:0)

我真的不建议这样做。简单地存储文件的路径并在需要的地方引用它会更有效。如果必须,这里是读取文件的C#代码。

这是一个读取文件的函数:

public static byte[] ReadFile(string filePath)
{
  byte[] buffer;
  FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
  try
  {
    int length = (int)fileStream.Length;  // get file length
    buffer = new byte[length];            // create buffer
    int count;                            // actual number of bytes read
    int sum = 0;                          // total number of bytes read

    // read until Read method returns 0 (end of the stream has been reached)
    while ((count = fileStream.Read(buffer, sum, length - sum)) > 0)
      sum += count;  // sum is a buffer offset for next reading
  }
  finally
  {
    fileStream.Close();
  }
  return buffer;
}

然后,您需要使用数据库中的OLE对象字段来存储文件。

答案 4 :(得分:0)

在访问的设计视图中,将列的类型设置为文件甚至是字节,并给出一些更大的值。 然后使用Stream类读取文件并将从中读取的所有内容转换为字节并存储在数据库中。