C# 如何从DataGridView-C将图像存储在DB中?
我的表单中有DataGridView控件,最后一列类型是image 如何让用户在DataGridView中选择图像并将其保存在DB中C# 如何从DataGridView-C将图像存储在DB中?,c#,sql-server-2008,datagridview,C#,Sql Server 2008,Datagridview,我的表单中有DataGridView控件,最后一列类型是image 如何让用户在DataGridView中选择图像并将其保存在DB中 提前感谢。不要将映像本身存储在文件系统的DB bt中,而在tue DB中只存储映像名称。这是一个比将数据填充到DB blob中更好的选择 通过使用类型为BLOB Binary Large OBject的字段,可以在SQL Server数据库中存储任意文件。在表中创建此类型的列,然后可以通过引用硬盘上的文件(可能使用存储过程)将文件数据加载到其中 关于使用blob的
提前感谢。不要将映像本身存储在文件系统的DB bt中,而在tue DB中只存储映像名称。这是一个比将数据填充到DB blob中更好的选择 通过使用类型为BLOB Binary Large OBject的字段,可以在SQL Server数据库中存储任意文件。在表中创建此类型的列,然后可以通过引用硬盘上的文件(可能使用存储过程)将文件数据加载到其中 关于使用blob的文章很多;这里有一个好看的教程: 下面是那篇文章中的一些示例代码,它专门从文件中添加BLOB值:
INSERT INTO BLOBTest
(BLOBName, BLOBData)
SELECT 'First test file',
BulkColumn FROM OPENROWSET(
Bulk 'C:\temp\nextup.jpg', SINGLE_BLOB) AS BLOB
您是否应该这样做是一个完全不同的问题。因为文件系统是用来存储文件的。您可以直接访问它们,而无需在blob之间来回转换字节。如果您正在处理一个web应用程序,并且您的DB和web服务器在不同的机器上运行,那么您的所有映像都必须通过网络从DB机器传输到web服务器,以便从那里获得服务。浪费的交通。如果你只有一些小图片,把它们塞进数据库。有各种各样的论据——赞成和反对。