我完全被这次转换拒绝所困扰。
基本上,我正在尝试从数据库中检索数据并将其存储到列表中 - 它一直运行到图像部分。
错误一直说它是类型转换错误,但我不知道如何纠正转换。 T形
以下是它的代码段:
列出student = new List();
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ItemUpload"].ConnectionString);
string selectQuery = "select * from upload";
SqlCommand com = new SqlCommand(selectQuery, conn);
SqlDataReader dr;
try
{
conn.Open();
dr = com.ExecuteReader();
while (dr.Read())
{
student.Add(new Item()
{
ID = dr.GetInt32(dr.GetOrdinal("Id")),
itemImage = dr.GetByte(dr.GetOrdinal("itemname")),
itemName = dr.GetString(dr.GetOrdinal("itemname")),
itemDesc = dr.GetString(dr.GetOrdinal("itemdesc")),
itemQuantity = dr.GetInt32(dr.GetOrdinal("qituantity"))
});
}
dr.Close();
}
这是itemimage的getter和setter(在一个名为Item的单独类中),如果有帮助的话。
public byte itemImage {get;组; }
我已经尝试过Convert.ToByte,但遗憾的是它不起作用。这就像我是解决方案所在的大门,但它不在我的掌握之中。
我很确定Getordinal从我搜索的内容中返回Int,但我不知道如何解决这个问题。
感谢你的帮助!
- 非常伤心的人
答案 0 :(得分:0)
student.Add(new Item()
{
ID = dr.GetInt32(dr.GetOrdinal("Id")),
itemImage = (byte)dr.GetInt32(dr.GetOrdinal("itemimage")),
itemName = dr.GetString(dr.GetOrdinal("itemname")),
itemDesc = dr.GetString(dr.GetOrdinal("itemdesc")),
itemQuantity = dr.GetInt32(dr.GetOrdinal("qituantity"))
});