asp.net关于根据gridview中取到的值从数据库中读取image类型的图片信息并显示

问题描述

asp.net关于根据gridview中取到的值从数据库中读取image类型的图片信息并显示
前台代码

<asp:GridView ID=""GridView1"" runat=""server"" AutoGenerateColumns=""False"" GridLines=""Vertical"" OnRowCommand=""GridView1_RowCommand"">            <Columns>                <asp:BoundField DataField=""物品编号"" HeaderText=""物品编号"" ReadOnly=""true""></asp:BoundField>                <asp:ButtonField HeaderText=""显示图片"" Text=""显示图片"" CommandName=""Select"" />            </Columns>        </asp:GridView>        <asp:Label runat=""server"" CssClass=""col-md-2 control-label"" ID=""Text""></asp:Label>        <p></p>        <div class=""row"">            <div class=""col-md-4"">                <p>缩略图</p>                <asp:Image runat=""server"" ID=""pic"" />            </div>        </div>

后台代码

public System.Drawing.Image ReturnPhoto(byte[] streamByte)    {        System.IO.MemoryStream ms = new System.IO.MemoryStream(streamByte);        System.Drawing.Image img = System.Drawing.Image.FromStream(ms);        return img;    }     protected void GridView1_RowCommand(object source GridViewCommandEventArgs e)    {        if (e.CommandName == ""Select"")        {            int i = Convert.ToInt16(e.CommandArgument.ToString());            string ID = this.GridView1.Rows[i].Cells[0].Text;            Text.Text = ID;            sqlcon = new SqlConnection(ConfigurationManager.ConnectionStrings[""DefaultConnection""].ConnectionString);            string sqlstr = ""select * from 物品表 where 物品编号="" + ID;            SqlDataAdapter myda = new SqlDataAdapter(sqlstr sqlcon);            DataSet myds = new DataSet();            myda.Fill(myds物品表"");            String str;            if (myds.Tables[""物品表""].Rows[0][""缩略图""] != null)            {                str = myds.Tables[""物品类""].Rows[0][""缩略图""].ToString();                byte[] Byte = System.Text.Encoding.Default.GetBytes(str);                System.Drawing.Image img = ReturnPhoto(Byte);                img.Save(""~/images/slt.jpg"");                pic.ImageUrl = ""~/images/slt.jpg"";            }        }    } 

我用web.config中链接的数据库,现在想点击表格中的“显示图片”选项在下面的image控件中显示该行物品编号所对应的图片。可是VS报错:
“System.NullReferenceException”类型的异常在 App_Web_b3knhkus.dll 中发生,但未在用户代码中进行处理
其他信息: 未将对象引用设置到对象的实例。
求大神指点呀~~~

解决方案

干嘛不直接存储图片文件到硬盘,数据库存图片路径和地址就好了

读2进制数据流也不是你这样读的吧。。

 //str = myds.Tables[""物品类""].Rows[0][""缩略图""].ToString();byte[] Byte = (byte[]) myds.Tables[""物品类""].Rows[0][""缩略图""];
时间: 2024-09-17 04:53:17

asp.net关于根据gridview中取到的值从数据库中读取image类型的图片信息并显示的相关文章

怎么实现在ASP.NET中制作表格,并将数据库中数据定位到特定的单元格中,谢谢了

问题描述 怎么实现在ASP.NET中制作表格,并将数据库中数据定位到特定的单元格中,谢谢了 现须在ASP.NET的网页中显示报表,报表的格式如下(红框里的是固定不变的,绿框的数据从数据库调用).表格要求:表格样式不变,显示数据库里的数据. 之前尝试用repeater.Gridview控件但都不能将数据定位到特定单元格上.问各位大神,怎么实现这个功能.在下感激不尽! 图片说明 解决方案 GridView可以将数据定位到单元格上,只是你不能简单的数据绑定,你需要用循环配合gridview.rows[

数据库表中的一列值为:2007-06-12 列的存储类型为:datatime 但是在Asp.net网面上通过DataList绑定后显示的值为:2007-06-12 0:00:00?????????????????

问题描述 数据库表中的一列值为:2007-06-12列的存储类型为:datatime但是在Asp.net网面上通过DataList绑定后显示的值为:2007-06-120:00:00?怎么样通过DataList控件绑定后让他不显示:0:00:00,而只显示:1985-06-12 解决方案 解决方案二:sql语句不要直接选出时间字段t,拼字符串year(t)+month(t)+day(t)asnewtime解决方案三:'<%#Bind("DateTime","{0:yyy

datatable中取值问题-C#中,datatable中取某个元素值的问题,

问题描述 C#中,datatable中取某个元素值的问题, 解决方案 那么你到底是遇到什么问题呢?

c#-如何把datagridview中的数据保存到SQL数据库中?VB.NET或C#

问题描述 如何把datagridview中的数据保存到SQL数据库中?VB.NET或C# 如下图:已经实现从EXCEL导入数据到Datagridview中,现在要把其中的数据保存到数据库的AAAie表里面.请用代码说明,谢谢. 解决方案 取数据用ado.net保存到SQL Server数据库.http://blog.csdn.net/lysc_forever/article/details/7697536 解决方案二: 方法1.创建一个数据库,表,表名自取,表的字段和Excel相同,取Excel

数据库 删除-为什么我删除了listview中的值,数据库中没删除呢

问题描述 为什么我删除了listview中的值,数据库中没删除呢 string connstr = ""Provider=Microsoft.Jet.OleDb.4.0;""; connstr += @""Data Source=D:Merger20150208_caohuanGEARCNC.mdb""; OleDbConnection tempconn = new OleDbConnection(connstr);//连接数

使用ejb往oracle数据库中插入Date型数据,数据库中记录始终是yyyy-mm-dd

问题描述 使用ejb往oracle数据库中插入Date型数据,数据库中记录始终是yyyy-mm-dd 使用ejb往oracle数据库中插入Date型数据,数据库中记录始终是yyyy-mm-dd,但是在插入前我已经转成了yyyy-mm-dd HH:mm:ss格式,插入到数据库中时分秒就掉了,怎么回事 解决方案 应该用timestamp类型吧 解决方案二: http://blog.sina.com.cn/s/blog_af4f958e01015fmx.html 解决方案三: 也许是你使用的界面工具的

jsp-从数据库中取出数据对应的集合,在JSP页面中遍历出一个表格,数据库中的字段对应的是表格表头名

问题描述 从数据库中取出数据对应的集合,在JSP页面中遍历出一个表格,数据库中的字段对应的是表格表头名 从数据库中取出数据对应的集合,在JSP页面中遍历出一个注册项的列表,每一项都是从数据库中的表中取出的,比如,第一行为用户名,后面是个文本框,第二行是密码,后面还是个文本框,但是有的type是text,有的是password,上传文件对应的是file,如何才能动态解决这个问题,在页面中用foreach,只写一列数据,在页面中得到所有的注册项,这种方法如果不可行,那么请问各位大神,应该如何处理比较

delphi-Delphi中如何将Richedit值在EXCEL中展现?

问题描述 Delphi中如何将Richedit值在EXCEL中展现? 求助:Delphi中如何将Richedit控件的值(富文本样式,如有下标的化学式)通过OLE在EXCEL中展现.同问AdvStringGrid中将带有RichEdit的值导出到EXCEL?感谢!

kindeditor sql-如何将kindeditor中的数据保存到SQL数据库中

问题描述 如何将kindeditor中的数据保存到SQL数据库中 主要就是我从数据库中读取了数据,然后显示在页面上.然后我在页面上通过kindeditor修改了那些数据.要怎么再保存进SQL数据库 解决方案 直接关闭即可以保存内容