【发布时间】:2016-03-21 01:10:12
【问题描述】:
private void MovieDisp1()
{
SqlConnection cn = new SqlConnection("Data Source = localhost; Initial Catalog = CinemaProj; Integrated Security = SSPI");
SqlCommand cmd = new SqlCommand();
SqlDataAdapter da = new SqlDataAdapter(cmd);
cmd.Connection = cn;
cmd.CommandType = CommandType.Text;
cn.Open();
cmd.CommandText = "Select CM_MovieName, CM_MovieDesc, CM_MovieImage from Tbl_CMovies where CM_ID = '1'";
SqlDataReader rd = cmd.ExecuteReader();
while (rd.Read())
{
labelmoviename1.Text = rd[0].ToString();
labelmoviedesc1.Text = rd[1].ToString();
byte[] img = (byte[])(rd[2]);
if(img == null)
{
ImageMovie1.Image = null;
}
else
{
MemoryStream ms = new MemoryStream(img);
ImageMovie1.Image = Image.FromStream(ms);
}
}
cn.Close();
}
我创建了一个名为 MovieDisp1 的方法来从我的数据库中检索所有信息,包括图像。但现在我在
处遇到错误ImageMovie1.Image = null
还有
ImageMovie1.Image = Image.FromStream(ms)
错误是这样的:
“System.Web.UI.WebControls.Image”不包含“Image”的定义,也没有接受“System.Web.UI.WebControls.Image”类型的第一个参数的扩展方法“Image”可以找到(您是否缺少 using 指令或程序集引用?)
这是否意味着我不能使用 .Image 进行图像控制?是否可以使用任何扩展方法来修复此错误?谢谢!
【问题讨论】:
-
所有实现IDisposable 接口的东西都需要妥善处理。你还没有在你的代码中这样做。您要么需要将它们包装在 using statements 中,要么在
finally块中调用.Dispose()。