3

我对 C# .Net 相当陌生。我们在大学学习它,并且正在使用 Visual Studio 创建 Windows 窗体。作为该主题的新部分,我们正在使用数据库、表格和数据集。

我打开了一个新的 Windows 窗体项目,并立即向其中添加了一个新数据库。我要创建的表将有 2 列 - ImageID 和图像本身。我以什么方式将图像添加到框中?我已经尝试过完整路径、相对路径和拖动图像,但无论我做什么,我都会收到相同的错误消息....

无效值
此单元格中更改的值未被识别为有效。.Net Framework 数据类型:字节 []
错误消息:您不能使用结果窗格将此字段数据设置为 NULL 以外的值
键入适合数据类型的值或按 ESC 取消更改

我怎样才能在里面放图像?我只是不知道如何在表中使用图像数据类型。任何帮助深表感谢。

4

2 回答 2

0

一种更简单的方法是将图像存储在文件系统中,并且仅将其路径存储在数据库中。基本上你定义一个基本文件夹:

string baseFolder = "c:\Program Files\MyApp\Images";

并用它来存储数据库中的相对路径:

INSERT INTO ImagesTable (Name, Path)
Values ('German Shepherd', 'Dogs\german-shepherd.jpg')

然后,当您需要检索图像时,您可以这样做:

string path = Path.Combine(baseFolder, 'Dogs\german-shepherd.jpg');
Image img = Image.FromFile(path);

在以下 SO 问题中,您可以找到有关此方法优缺点的更多信息:

于 2012-12-04T00:34:37.293 回答
0

您可以将图像存储在 sql server 2008 中。只需创建具有列数据类型“图像”的数据库表。现在从.net代码中使用文件上传控件选择图像文件,然后将图像参数转换为字节[],然后将图像数据插入数据库。

于 2012-12-04T01:19:17.243 回答