【发布时间】:2015-06-02 18:33:55
【问题描述】:
我总是得到错误
无法将“system.byte”类型的对象转换为“system.iconvertible”类型
使用我通过列表视图的“SelectedIndexChanged”事件将图像表单 DB 检索到图片框的代码。
这是我的代码:
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;
}
我在哪里做错了?
【问题讨论】:
-
在哪一行抛出异常?
-
字节位 = Convert.ToByte(ds.Tables[0].Rows[0][0]);
-
我很确定您的位图没有存储在单个字节中……
-
单字节图像?你确定你真的不想要一个字节数组吗? (字节[])
-
它说..“参数无效。”当我使用 byte[].