2012-12-03 75 views
2

我对C#.Net相当陌生。我们正在大学教它,并使用Visual Studio创建窗体。作为这个主题的一部分,我们使用数据库,表格和数据集。如何在Visual Studio 2010的数据库中包含图像

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

无效值
在这个单元中的变化值无法识别为有效。 .NET框架数据类型:字节[]
错误消息:不能使用结果窗格该字段数据设置为NULL以外 值
类型适合于数据类型或按ESC的值取消 变化

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

+1

欢迎来到[so],你可以轻松地google一个教程https://www.google.com.au/search?q=store+images+in+SQL+server+winforms –

+0

感谢您的答复。我看过很多教程,但它们都比我所教的要复杂得多,而且现在真的超出了我的理解范围。 使用visual studio的内置功能,我可以使用我的表创建一个数据集,VS将基本上创建所有我的标签,文本框和代码来从我的表中检索数据。这就是我想要做的,但与我的表中的图像。我不需要从程序中存储图像;我只是想从我的表格中显示到一个图片框。 VS不会接受表格中的任何内容作为数据类型图像。 – user1874042

+0

winforms ...数据集...很高兴看到课程跟上...(咳嗽) –

回答

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以下问题,你可以找到关于这种方法的优点和缺点的详细信息:

0

可以存储图像SQL Server 2008中就产生具有列数据类型“图像”的数据库表。现在来自.net代码的 使用文件上传控件选择图像文件,然后在将图像数据插入数据库之前将图像参数转换为字节[]。

相关问题