您不能将 DataColumn 的属性 DataType 设置为对象无法识别的类型。
在属性 DataType的 MSDN 中,您可以阅读
DataType 属性支持以下基本 .NET Framework 数据类型:
Boolean、Byte、Char、DateTime、Decimal、Double、Guid、Int16、Int32、Int64、SByte、Single、String、TimeSpan、UInt16、UInt32、UInt64、Byte[]
要将图像存储在 DataTable 中,您需要将其 DataType 属性定义为byte[]
,然后您可以轻松找到将图像存储在该类型列中的代码
例如(未测试)
Dim ListData As DataTable = New DataTable()
Dim FirstImageColumn As DataColumn = New DataColumn()
FirstImageColumn.DataType = System.Type.GetType("System.Byte[]")
FirstImageColumn.ColumnName = "FirstImage"
ListData.Columns.Add(FirstImageColumn)
Dim img = Image.FromFile("....path to image file...")
Dim row = ListData.NewRow()
Dim ms = new MemoryStream()
img.Save(ms, System.Drawing.Imaging.ImageFormat.Gif)
row["FirstImage"] = ms.ToArray()
ListData.Rows.Add(row)