我们可以在一个SQL列中存储和检索多个图像吗?

时间:2016-06-18 20:32:06

标签: sql-server winforms database-design

Hello Everyone我是编程新手。我正在我的项目中开展小项目 我有 用户将上传4到6张图片的窗体,我想存储这些图像 在SQL数据库表之后,我想要检索有关一个用户的这些图像。

现在我的问题是如何在数据库表中没有任何新行的情况下将这些图像存储在一个SQL列中?

存储和检索图像是正确的方法吗?

2 个答案:

答案 0 :(得分:1)

您将图像名称存储在数据库中,而不是图像本身。 此外,将属于一个客户的4-6张图片的图像名称存储在一个单元格而不是列中。试试这个,希望它有效。

答案 1 :(得分:1)

如果要在数据库中存储图像而不是路径,请使用varbinary字段。一旦进入数据库,就可以很容易地使用您可以在应用程序中提取和使用的报告(ssrs)中的图像。

曾经有一个图像数据类型,但正在删除。还要考虑图像的大小为1MB +,你真的应该存储路径。

您需要导入图像并转换为varbinary。例:

MemoryStream ms = newMemoryStream();
pictureBox1.Image.Save(ms,ImageFormat.Jpeg);
byte[] photo_aray = newbyte[ms.Length];
ms.Position = 0;
ms.Read(photo_aray, 0, photo_aray.Length);

这是一个应该有用的演示链接:tutorial