关于Acess 图片存为ole类型,数据集合显示

    技术2022-05-19  26

         以前真没有这么想过,将图片存为ole二进制的形式,放入到数据库中去,只有在学校的时候这样处理过数据信息;

    当时也没有想那么多,只是为了知道这个东西及会用.

     

        显示一个放到一个页面上还真知道怎么搞的,如果显示一个集合放到Repeater中呢?说实在的,有点不知道怎么搞了;

     今天不得不这样搞了,因为数据存放的全是ole的类型,出于无奈只好试试(用显示一个图片的方法);

     

        真是像我们头说的那样,试试吧,反正试试也不要钱,呵呵,自己一试,还真行!

     

        动手是非常重要的呀,呵呵

     

       加油

     

    代码如下1.aspx

     

            <asp:Repeater ID="Repeater1" runat="server">        <HeaderTemplate>        <table>        <tr>        <td>ID</td>        <td>Name</td>        <td>Img</td>        </tr>        </HeaderTemplate>        <ItemTemplate>           <tr>        <td><%# Eval("ID") %></td>        <td><%# Eval("ImageName") %></td>        <td>         <img alt="" src="Default2.aspx?id=<%# Eval("ID") %>" width="100" height="100"  />        </td>        </tr>        </ItemTemplate>        <FooterTemplate>        </table>        </FooterTemplate>        </asp:Repeater>

     

    1.aspx.cs

        protected void Page_Load(object sender, EventArgs e)    {        if (!IsPostBack)        {            string strComm = "SELECT  *   FROM   tb_Image ";            DataSet ds = AccHelper.Query(strComm);            Repeater1.DataSource = ds.Tables[0].DefaultView;            Repeater1.DataBind();        }    }

     

     

    Default12.aspx.cs代码如下:

     

    protected void Page_Load(object sender, EventArgs e)    {        if (!string.IsNullOrEmpty(Request.QueryString["id"]))        {            int a = Convert.ToInt32(Request.QueryString["id"].Trim());            string strComm = "SELECT   ImageByte   FROM   tb_Image   WHERE   id=" + a + " ";            OleDbDataReader dr = AccHelper.ExecuteReader(strComm);            while (dr.Read())            {                byte[] image = (byte[])dr.GetValue(0);                Response.Clear();                Response.BinaryWrite(image);            }        }           }

     

    便可实现集合的数据显示!

     

    源码下载

     

     

     

     

     

     


    最新回复(0)