http://dotnet.aspx.cc/ShowDetail.aspx?id=2A5DD7C6-A45A-48AB-A2E8-342A29F17506
解决方案 »
- 软件设计包括哪些设计,能解释下吗?(我就知道架构设计)
- 有关object sender的问题
- DetailsView如何查找自身BoundField的值?
- 控件的ID自动改变?
- 如何不显示gridview或是griddata中值为空的行?
- 在aspx页中如何实现不刷新就能自动获取服务器端最新变动?
- 我想在会员注册的时候给会员分配一个会员号码,作为会员在本网站的通行证,这个号码该如何产生?
- 并不包含对“CustomerId”的定义
- 存储过程的@Info text,这个text数据类型为什么不能设定新值?
- 一段小程序有点不明白,各种老大指教,另外还有一个关于帮助的问题
- 请问。
- 大虾指教:如何将存储在数据库中的图片绑定到datagrid中
1 将图片存在数据库中的类型为image的字段中!
2 将图片存放到服务器的某个文件夹下,数据库中只存放图片所在的路径!
写入数据库:
SqlConnection conn = new SqlConnection("Data Source=localhost;database=test;user id=sa;password=");
SqlCommand cmd = new SqlCommand("insert into [file] (fileName,fileType,fileSize,fileContext) values(@fileName,@fileType,@fileSize,@fileContext)",conn);
//文件名
SqlParameter param = new SqlParameter("@fileName",SqlDbType.VarChar,50);
param.Value = File.PostedFile.FileName.Substring(File.PostedFile.FileName.LastIndexOf("\\")+1);
cmd.Parameters.Add(param);
//文件类型
param = new SqlParameter("@fileType",SqlDbType.VarChar,50);
param.Value = File.PostedFile.ContentType;
cmd.Parameters.Add(param);
//文件大小
param = new SqlParameter("@fileSize",SqlDbType.Float,8);
param.Value = size;
cmd.Parameters.Add(param);
//文件内容
byte[] context = new Byte[size];
param = new SqlParameter("@fileContext",SqlDbType.Image);
File.PostedFile.InputStream.Read(context,0,size);
param.Value = context;
cmd.Parameters.Add(param); conn.Open();
cmd.ExecuteNonQuery();
conn.Close();读出文件:
DataReader:
Response.ContentType = dr["fileType"].ToString();
Response.BinaryWrite( (byte[]) dr["fileContext"] );
首先我在数据库中保存的是图片的文件名,然后把图片保存在项目目录的images文件夹中,当在DataGrid中显示时采用下面的方法:
在html中添加,如下:
<IMG height=147 src='images/<%# DataBinder.Eval(Container.DataItem,"medicine_pic") %>' width=119 border=0 >
这个是放在一个表中的。你也可以直接放在DataGrid的模板列中。实现很简单,你应该会吧,要是还有问题,请发消息给我。
你要是感兴趣,给我消息我把源码发给你。