protected void Bind() //绑定 { SqlConnection tcon = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]); string sql = "select top 10 creat_dt,bod_cd,bod_id,mate_name,med_name,specifi,pdt_place,qtyperpack,med_id,bod_type_id,bod_status_id,"; sql = sql + "mate_id dtl_id,bat_cd,valid_dt,qty,price,amot,sta_id "; sql = sql + "from vi_report where bod_cd like '%" + bodcd.Text + "%' and bod_type_id=2 and bod_status_id=1 "; sql = sql + "and creat_dt>'2015-1-1' and sta_id= '" + Label1.Text + "' order by bod_cd,pdt_place"; tcon.Open(); SqlCommand cmd = new SqlCommand(sql, tcon); SqlDataReader reader = cmd.ExecuteReader(); this.GridView1.DataSource = reader; this.GridView1.DataBind(); tcon.Close(); } protected void Button1_Click(object sender, EventArgs e) { Bind(); }
以上代码为gridview读取的数据,在每行后面增加了一个linkbutton按钮
现在想要实现点击linkbutton按钮 来下载文件,文件名为med_id_bat_cd.jpg或rar,文件名是由med_id int和bat_cd varchar来命名的
有两个参数来判断文件名,如有知道的大师不胜感激
你代码有个问题:不要把SqlDataReader作为数据源使用,最好读取出来后再使用。
linkbutton要获取文件名,看你怎么用属性,可以通过组合的方式输出,在UI设计里应该有的。
如果不是用SqlDataReader,用dataset的话 没结果出来因为SQL中用的是视图
我不对数据源进行更改删除新增,只是读取出来,根据取出来的数据行,还有数据的参数去关联文件名下载
@啃着大葱杀鬼子: 你的问题应该是你的视图本身有问题,不能查询到数据,或者你针对视图的查询是有问题的导致查询不到数据,或者根本就没有你需要的数据。
@519740105: 单把我贴出来的SQL语句放SQL查询能得到结果
@啃着大葱杀鬼子:
SqlDataReader reader = cmd.ExecuteReader();
遍历后,是否有数据?
在linkbutton上綁定數據的id或者是文件地址,點擊LinkButton時去將id或地址傳遞到後臺,後臺返回文件即可。