1、存储过程如下:
CREATE PROCEDURE dbo.my_people_Photo
@peopleID char(4),
@img Image,
@imgType varchar(20)
AS
Update PeopleTB SET Photo=@img,ImgType=@imgType where PeopleID=@PeopleID
GO
2、程序代码如下(注:peopleDg为DataGrid变量名ID):
cmd=new SqlCommand("my_people_photo",conn);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add("@peopleID",SqlDbType.Char,4);
cmd.Parameters.Add("@img",SqlDbType.Image);
cmd.Parameters.Add("@imgType",SqlDbType.VarChar,20);
cmd.Parameters["@peopleID"].Value=peopleDg.Items[peopleDg.SelectedIndex].Cells[1].Text.Trim();
int fileLen = loadImg.PostedFile.ContentLength;
byte[] pic = new byte[fileLen];
loadImg.PostedFile.InputStream.Read(pic, 0, fileLen);
cmd.Parameters["@img"].Value=pic;
cmd.Parameters["@imgType"].Value=loadImg.PostedFile.ContentType.ToString().Trim();
showImg.ImageUrl=loadImg.PostedFile.FileName;
cmd.ExecuteNonQuery();
3、取出、显示照片代码:
1)showImg为Image变量名ID
showImg.ImageUrl="ShowPic.aspx?ID="+peopleRead.GetString(1).Trim();
2)ShowPic.aspx中的代码如下:
SqlCommand cmd=new SqlCommand("select ImgType,Photo From PeopleTB where PeopleID='"+id+"'",conn);
SqlDataReader reader=cmd.ExecuteReader();
if(reader.Read())
{
Response.Clear();
Response.ContentType = reader.GetString(0).ToString().Trim();
Response.BinaryWrite((byte[])reader["Photo"]);
Response.End();
}
reader.Close();