gpt4 book ai didi

c# - 无法将类型为 'system.byte ' 的对象转换为类型 'system.iconvertible'

转载 作者:行者123 更新时间:2023-11-30 21:08:51 27 4
gpt4 key购买 nike

我总是得到错误

unable to cast object of type 'system.byte ' to type 'system.iconvertible"

使用我的代码通过 ListView 的“SelectedIndexChanged”事件将图像形式的数据库检索到图片框。

这是我的代码:

foreach (ListViewItem LVI in lvwInventory.SelectedItems)
{
////CONNECTION STRING TO THE DATABASE (USED FOR SAVING/UPLOADING IMAGE)
//System.Data.OleDb.OleDbConnection con = new System.Data.OleDb.OleDbConnection("Provider=microsoft.jet.oledb.4.0; data source=..\\dbMyDVDOrganizer.mdb");
con.Open();
//OLEDB COMMAND FOR RETRIEVING IMAGE FROM THE DATABASE
System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand("SELECT DVDImage FROM tblDVDInventory WHERE ItemCode='" + lvwInventory.SelectedItems[0].Text + "'");
cmd.Connection = con;
cmd.CommandType = CommandType.Text;
System.Data.OleDb.OleDbDataAdapter da = new System.Data.OleDb.OleDbDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
Byte bits = Convert.ToByte(ds.Tables[0].Rows[0][0]);
MemoryStream memoryBits = new MemoryStream(bits);
Bitmap bitmap = new Bitmap(memoryBits);
//BITMAP HAS THE IMAGE NOW.
pctImage.Image = bitmap;
}

我哪里做错了?

最佳答案

只是一个疯狂的猜测:我认为 DVDImage 包含的不仅仅是一个 Byte... 可能是一个字节数组(Byte[])?替换

Byte bits = Convert.ToByte(ds.Tables[0].Rows[0][0]);

Byte[] bits = ds.Tables[0].Rows[0].Field<Byte[]>("DVDImage");

(或

Byte[] bits = (byte[])(ds.Tables[0].Rows[0][0]);

如果您使用的是旧版本的 .NET 框架)。

关于c# - 无法将类型为 'system.byte ' 的对象转换为类型 'system.iconvertible',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9348561/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com