int id = int.Parse((Request.QueryString["id"]).ToString());
string connString = SystemSetting.Conn;
SqlConnection conn = new SqlConnection(connString);
SqlCommand cmd = new SqlCommand();
SqlParameter[] sql ={ new SqlParameter("@id", id) };
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = conn;
cmd.CommandText = "selectImage";
cmd.Parameters.AddRange(sql);
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
if (reader.Read() && reader!=null)
{
byte[] image = reader.GetSqlBytes(0).Buffer;
Response.ContentType = reader["imgType"].ToString();
Response.BinaryWrite(image);
Response.Flush();
我在数据库中存入了多张图片,我想把他们读出来,结果读出来的多张图片显示都是一样的(都与第一张图片相同),向高手请教!
string connString = SystemSetting.Conn;
SqlConnection conn = new SqlConnection(connString);
SqlCommand cmd = new SqlCommand();
SqlParameter[] sql ={ new SqlParameter("@id", id) };
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = conn;
cmd.CommandText = "selectImage";
cmd.Parameters.AddRange(sql);
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
if (reader.Read() && reader!=null)
{
byte[] image = reader.GetSqlBytes(0).Buffer;
Response.ContentType = reader["imgType"].ToString();
Response.BinaryWrite(image);
Response.Flush();
我在数据库中存入了多张图片,我想把他们读出来,结果读出来的多张图片显示都是一样的(都与第一张图片相同),向高手请教!
如果是多条,那么你在 下面这段代码中需要添加,多条记录时的遍历处理。。
if (reader.Read() && reader!=null)
{
byte[] image = reader.GetSqlBytes(0).Buffer;
Response.ContentType = reader["imgType"].ToString();
Response.BinaryWrite(image);
Response.Flush(); 自己去试一下吧!
{
byte[] image = reader.GetSqlBytes(0).Buffer;
Response.ContentType = reader["imgType"].ToString();
Response.BinaryWrite(image);
Response.Flush();
这个地方,每次Response.BinaryWrite的都是第一条记录,应该加个条件判断一下,写第几张图片。
{
//...
}
有人能看懂这段代码吗
有人能看懂着段代码吗
放到datalist或其它数据控件里
放到datalist或其它数据控件里
这个我知道
这样才对吧,你能把存储过程贴出来吗,不知道你是一次要一个还是一组,还有你没有关闭READ,可能这也是造成图片没有更新的原因
我要接分呵呵