在数据库里存放整个图片,而不是路径。当我在TREEVIEW里点击一个产品节点,要在IMAGE里显示图片。点击不同产品,显示对应的图片。如何定 根据图片ID(或者能唯一定位图片数据的数据)来打开数据库,获取二进制的图片数据,然后通过Response.ContentType="Iamge/gif"设置输出类型,使用Response.BinaryWrite()输出二进制数据。<image src="ImageShow.Aspx"> 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //取出图片private void Button2_Click(object sender, System.EventArgs e){SqlConnection con = new SqlConnection("Server=ss;uid=sa;pwd=;database=northwind");SqlDataAdapter da = new SqlDataAdapter("Select * From MyImages",con);SqlCommandBuilder MyCB = new SqlCommandBuilder(da);DataSet ds = new DataSet("MyImages");byte[] MyData= new byte[0];da.Fill(ds,"MyImages");DataRow myRow=ds.Tables["MyImages"].Rows[0];MyData=(byte[])myRow["imgField"];int ArraySize = new int();ArraySize = MyData.GetUpperBound(0); FileStream fs = new FileStream(@"d:\b.jpg", FileMode.OpenOrCreate, FileAccess.Write);fs.Write(MyData, 0,ArraySize);fs.Close();} /// <summary> /// 向数据库写入图像文件 /// </summary> private void UpLoadImageFile(FileInfo obj) { try { //创建一字节数组,用来存储图像文件.(数组的长度是图像文件的长度) byte[] Content=new byte[obj.Length]; //打开文件并用他初始化一个文件流对象 FileStream ImageFileStream=obj.OpenRead(); //将文件内容写入字节数组 ImageFileStream.Read(Content,0,Content.Length); //关闭文件流 ImageFileStream.Close(); //创建一个Sql命令对象,用来插入记录 SqlCommand Command=new SqlCommand("INSERT Into Images(Description,ImageFile,ImageSize,ImageType) Values(@Description,@ImageFile,@ImageSize,@ImageType)",this.MySqlCon); //图像的描述信息 SqlParameter imageDescriptionParameter=new SqlParameter("@Description",SqlDbType.NVarChar); imageDescriptionParameter.Value=this.txtImage.Text; Command.Parameters.Add(imageDescriptionParameter); //图像的数据字节数组 SqlParameter imageFileParameter=new SqlParameter("@ImageFile",SqlDbType.Image); imageFileParameter.Value=Content; Command.Parameters.Add(imageFileParameter); //图像的大小信息 SqlParameter imageSizeParameter=new SqlParameter("@ImageSize",SqlDbType.Int); imageSizeParameter.Value=Content.Length; Command.Parameters.Add(imageSizeParameter); //图像的类型新信息 SqlParameter imageTypeParameter=new SqlParameter("@ImageType",SqlDbType.NVarChar); imageTypeParameter.Value=obj.Extension; Command.Parameters.Add(imageTypeParameter); //打开数据库连接 this.MySqlCon.Open(); //执行 Sql 语句 Command.ExecuteNonQuery(); //关闭数据库连接 this.MySqlCon.Close(); MessageBox.Show("图像文件 " + obj.FullName + " 成功上传到数据库!"); } catch(Exception Ezone) { MessageBox.Show(Ezone.Message); } } /// <summary> /// 从数据库读取图像 /// </summary> private void btnDownLoad_Click(object sender, System.EventArgs e) { try { //创建一个Sql命令对象,用来查询记录 SqlCommand Command=new SqlCommand("select * from dazzle_pics where picid=71605 order by picid DESC",this.MySqlCon); //打开数据库连接 this.MySqlCon.Open(); //执行Sql语句 SqlDataReader MyReader=Command.ExecuteReader(CommandBehavior.CloseConnection); MyReader.Read(); //创建一个内存流对象并用ImageFile字段,ImageSize字段初始化他 MemoryStream MyMemoryStream=new MemoryStream((byte[])MyReader["source"],0,Convert.ToInt32(MyReader["picSize"])); //创建一个 Image 对象,并赋值给 Picture对象的 Image 属性 this.ImgPictureBox.Image=Image.FromStream(MyMemoryStream); //关闭内存流 MyMemoryStream.Close(); MyReader.Close(); } catch(Exception Ezone) { MessageBox.Show(Ezone.Message); } } 我要WEB,主要是怎样确定,点击左边TREEVIEW中的一个产品,在右边表格(其中还有其他的数据)里的IMAGE控件里显示,对应的图片(存放在数据库里),问题是,如何确定选中的产品,对应数据库里的哪条记录?? 源代码http://www.vchelp.net/vchelp/archive.asp?type_id=95&class_id=2&cata_id=21&article_id=848&search_term= [求助]请大家介绍下编码规范问题。。。 winform窗体如何分多次加载数据到数据窗格? GridView 和session问题 c#.net 虚心的请教一个问题! 怎么样在C#的代码里面改变水晶报表的标题.急........... C#中数据绑定与radioBotton的BUG? !!请教基本的开发流程问题!! 想找一个winform 的源程序看看.(最好是OA) 请问谁可以提供? 关于web。config文件中添加内容问题 关于寻找 C#(VC#) 入门书?(分不够可以再加) 现在做一个购物车的促销系统,请高手帮忙! 怎么获得网页中链接的URL呢?
private void Button2_Click(object sender, System.EventArgs e)
{
SqlConnection con = new SqlConnection("Server=ss;uid=sa;pwd=;database=northwind");
SqlDataAdapter da = new SqlDataAdapter("Select * From MyImages",con);
SqlCommandBuilder MyCB = new SqlCommandBuilder(da);
DataSet ds = new DataSet("MyImages");
byte[] MyData= new byte[0];
da.Fill(ds,"MyImages");
DataRow myRow=ds.Tables["MyImages"].Rows[0];
MyData=(byte[])myRow["imgField"];
int ArraySize = new int();
ArraySize = MyData.GetUpperBound(0);
FileStream fs = new FileStream(@"d:\b.jpg",
FileMode.OpenOrCreate, FileAccess.Write);
fs.Write(MyData, 0,ArraySize);
fs.Close();
}
/// 向数据库写入图像文件
/// </summary>
private void UpLoadImageFile(FileInfo obj)
{
try
{
//创建一字节数组,用来存储图像文件.(数组的长度是图像文件的长度)
byte[] Content=new byte[obj.Length];
//打开文件并用他初始化一个文件流对象
FileStream ImageFileStream=obj.OpenRead();
//将文件内容写入字节数组
ImageFileStream.Read(Content,0,Content.Length);
//关闭文件流
ImageFileStream.Close(); //创建一个Sql命令对象,用来插入记录
SqlCommand Command=new SqlCommand("INSERT Into Images(Description,ImageFile,ImageSize,ImageType) Values(@Description,@ImageFile,@ImageSize,@ImageType)",this.MySqlCon); //图像的描述信息
SqlParameter imageDescriptionParameter=new SqlParameter("@Description",SqlDbType.NVarChar);
imageDescriptionParameter.Value=this.txtImage.Text;
Command.Parameters.Add(imageDescriptionParameter); //图像的数据字节数组
SqlParameter imageFileParameter=new SqlParameter("@ImageFile",SqlDbType.Image);
imageFileParameter.Value=Content;
Command.Parameters.Add(imageFileParameter); //图像的大小信息
SqlParameter imageSizeParameter=new SqlParameter("@ImageSize",SqlDbType.Int);
imageSizeParameter.Value=Content.Length;
Command.Parameters.Add(imageSizeParameter); //图像的类型新信息
SqlParameter imageTypeParameter=new SqlParameter("@ImageType",SqlDbType.NVarChar);
imageTypeParameter.Value=obj.Extension;
Command.Parameters.Add(imageTypeParameter);
//打开数据库连接
this.MySqlCon.Open();
//执行 Sql 语句
Command.ExecuteNonQuery();
//关闭数据库连接
this.MySqlCon.Close(); MessageBox.Show("图像文件 " + obj.FullName + " 成功上传到数据库!");
}
catch(Exception Ezone)
{
MessageBox.Show(Ezone.Message);
}
}
/// <summary>
/// 从数据库读取图像
/// </summary>
private void btnDownLoad_Click(object sender, System.EventArgs e)
{
try
{
//创建一个Sql命令对象,用来查询记录
SqlCommand Command=new SqlCommand("select * from dazzle_pics where picid=71605 order by picid DESC",this.MySqlCon);
//打开数据库连接
this.MySqlCon.Open();
//执行Sql语句
SqlDataReader MyReader=Command.ExecuteReader(CommandBehavior.CloseConnection); MyReader.Read();
//创建一个内存流对象并用ImageFile字段,ImageSize字段初始化他
MemoryStream MyMemoryStream=new MemoryStream((byte[])MyReader["source"],0,Convert.ToInt32(MyReader["picSize"]));
//创建一个 Image 对象,并赋值给 Picture对象的 Image 属性
this.ImgPictureBox.Image=Image.FromStream(MyMemoryStream);
//关闭内存流
MyMemoryStream.Close();
MyReader.Close();
}
catch(Exception Ezone)
{
MessageBox.Show(Ezone.Message);
}
}
http://www.vchelp.net/vchelp/archive.asp?type_id=95&class_id=2&cata_id=21&article_id=848&search_term=