string sql ="select image from table";//image是sql server 里面的 image 字段 SqlConnection con = new SqlConnection(ImageConnectStr); SqlCommand com = new SqlCommand(sql, con);
try { con.Open(); SqlDataReader dr = com.ExecuteReader(); while (dr.Read()) { byte[] imagebytes = (byte[])dr.GetValue(2); MemoryStream ms = new MemoryStream(imagebytes); BmpList.Add(new Bitmap(ms)); //添加图片 ms.Close(); //注意这里 imagebytes = null; }
光从你上面几行代行。只有添加引用,完全是没有释放的意思
string sql ="select image from table";//image是sql server 里面的 image 字段
SqlConnection con = new SqlConnection(ImageConnectStr);
SqlCommand com = new SqlCommand(sql, con);
try
{
con.Open();
SqlDataReader dr = com.ExecuteReader();
while (dr.Read())
{
byte[] imagebytes = (byte[])dr.GetValue(2);
MemoryStream ms = new MemoryStream(imagebytes);
BmpList.Add(new Bitmap(ms)); //添加图片
ms.Close(); //注意这里
imagebytes = null;
}
dr.Dispose();
}
finally
{
com.Dispose();
if (con!=null)
con.Dispose();
}
BmpList.Clear(); //注意这里