【发布时间】:2015-08-10 18:58:18
【问题描述】:
我正在尝试从 .Net 加载存储在 SQL 服务器上的一些图像数据,但是在屏幕上开始出现错误并显示以下消息时:无法将参数值从 DataRowView 转换为 Int32 但我不知道问题出在哪里。
本部分代码:
try
{
conn.Open();
strSQL = "SELECT * FROM Pictures WHERE ID = @ID";
da = new SqlDataAdapter(strSQL, conn);
da.SelectCommand.Parameters.Add("@ID" ,SqlDbType.Int).Value = listBox1.SelectedValue;
ds = new DataSet();
da.Fill(ds, "Pictures");
byte[] arrPic = (byte[])(ds.Tables["Pictures"].Rows[0]["Pic"]);
MemoryStream ms = new MemoryStream(arrPic);
pictureBox1.Image = Image.FromStream(ms);
conn.Close();
}
catch (SystemException ex)
{
MessageBox.Show(ex.Message);
}
错误出现在“da.Fill(ds, "Pictures");”上
【问题讨论】:
-
所以
listBox1.SelectedValue不是整数, -
可能与this重复
标签: c# .net sql-server-2008