如何使用datalist中的文件处理程序从数据库中获取图像? [英] How to fetch image from database,using file handler in datalist?

查看:37
本文介绍了如何使用datalist中的文件处理程序从数据库中获取图像?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的数据库内容是图片ID,名称,地点,区域,图片,费率,image_type,image_size,Img_Id



我的设计是,

My database content is Image Id,name, place, area, image, rate ,image_type,image_size, Img_Id

My design is,

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="listview.aspx.cs" Inherits="rzonefinal.listview" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
   <title></title>
    <style type="text/css">
        .style1
        {
            width: 32%;
        }
        .style2
        {
            width: 110px;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div style="background-image: url('images/manu/7.jpg')">

        <br />
        <br />
        <table class="style1">
            <tr>
                <td class="style2">
                    Image Id</td>
                <td>
                    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="style2">
                    Rate</td>
                <td>
                    <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="style2">
                    Square feet</td>
                <td>
                    <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="style2">
                    Image</td>
                <td>
                    <asp:FileUpload ID="FileUpload1" runat="server" />
                </td>
            </tr>
            <tr>
                <td class="style2">
                    Place</td>
                <td>
                    <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="style2">
                    Name</td>
                <td>
                    <asp:TextBox ID="TextBox5" runat="server"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="style2">
                    &nbsp;</td>
                <td>
                    <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Submit" />
                </td>
            </tr>
        </table>
        <br />
        <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <br />
        <br />
        <asp:SqlDataSource ID="SqlDataSource2" runat="server"

            ConnectionString="<%$ ConnectionStrings:ConnectionString %>"

            SelectCommand="SELECT [ImageId], [area], [image], [rate] FROM [image1]"

            OldValuesParameterFormatString="original_{0}">
        </asp:SqlDataSource>

        <br />
        <br />
        <asp:DataList ID="DataList1" runat="server" BorderColor="Aqua"

            BorderWidth="2px" CellPadding="3" CellSpacing="4" DataKeyField="ImageId"

            DataSourceID="SqlDataSource2" GridLines="Both"

            onselectedindexchanged="DataList1_SelectedIndexChanged" RepeatColumns="4"

            RepeatDirection="Horizontal">
            <ItemTemplate>
                ImageId:
                <asp:Label ID="ImageIdLabel" runat="server" Text='<%# Eval("ImageId") %>' />
                <br />
                area:
                <asp:Label ID="areaLabel" runat="server" Text='<%# Eval("area") %>' />
                <br />
                image:
                <asp:Label ID="imageLabel" runat="server" Text='<%# Eval("image") %>' />
                <asp:Image ID="Image1" runat="server"

                    ImageUrl='<%# "Handler1.ashx?id=" + Eval("Img_Id") %>' />
                <br />
                rate:
                <asp:Label ID="rateLabel" runat="server" Text='<%# Eval("rate") %>' />
                <br />
                <br />
            </ItemTemplate>
        </asp:DataList>

    </div>
    </form>
</body>
</html>



My coding is:


My coding is:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.IO;

namespace rzonefinal
{
    public partial class listview : System.Web.UI.Page
    {
        static int a = 1;
       
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            if (FileUpload1.PostedFile != null && FileUpload1.PostedFile.FileName != "")
            {

                //int a;
                //a = int.Parse(TextBox1.Text);
                int b;
                b = int.Parse(TextBox2.Text);
                float c;
                c = float.Parse(TextBox3.Text);
                int m = 1;

                byte[] myimage = new byte[FileUpload1.PostedFile.ContentLength];
                HttpPostedFile Image = FileUpload1.PostedFile;
                Image.InputStream.Read(myimage, 0, (int)FileUpload1.PostedFile.ContentLength);

                SqlConnection myConnection = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database1.mdf;Integrated Security=True;User Instance=True");


                //SqlCommand cmd = new SqlCommand("select Img_Id from image1", myConnection);
                //myConnection.Open();
                //SqlDataAdapter da = new SqlDataAdapter(cmd);
                //DataSet dt = new DataSet();
                //da.Fill(dt);
                //if (dt.Tables[0].Rows.Count > 0)
                //{
                //    for (int i = 0; i < dt.Tables[0].Rows.Count; i++)
                //    {
                //        a = int.Parse(dt.Tables[0].Rows[i][0].ToString());
                //    }
                //    m = ++a;
                //}

                m = ++a;

                SqlCommand storeimage = new SqlCommand("INSERT INTO image1(rate,area,image,place,name,image_type,image_size,Img_Id) values (" + b + "," + c + ", @Image,'" + TextBox4.Text + "','" + TextBox5.Text + "',@imagetype,@imagesize," + m + ")", myConnection);
                storeimage.Parameters.Add("@Image", SqlDbType.Image, myimage.Length).Value = myimage;
                storeimage.Parameters.Add("@imagetype", SqlDbType.VarChar, 100).Value = FileUpload1.PostedFile.ContentType;
                storeimage.Parameters.Add("@imagesize", SqlDbType.BigInt, 99999).Value = FileUpload1.PostedFile.ContentLength;

                // myConnection.Open();
                storeimage.ExecuteNonQuery();
                myConnection.Close();
                TextBox1.Text = "";
                TextBox2.Text = "";
                TextBox3.Text = "";
                TextBox4.Text = "";
                TextBox5.Text = "";
            }
        }

        protected void DataList1_SelectedIndexChanged(object sender, EventArgs e)
        {
             
            //DataList1.DataSource = FetchAllImagesInfo();
            //DataList1.DataBind();
            //DataList1.Visible = true;
        }

        //public DataTable FetchAllImagesInfo()
        //{
        //    string sql = "Select * from Images";
        //    SqlDataAdapter da = new SqlDataAdapter(sql, "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Users\\RAJ\\Desktop\\Rzone\\rzonefinal\\App_Data\\Database1.mdf;Integrated Security=True;User Instance=True");
        //    DataTable dt = new DataTable();
        //    da.Fill(dt);
        //    return dt;
        //}

        }
    }



Please help me.


Please help me.

推荐答案

ConnectionStrings:ConnectionString %>\"

SelectCommand=\"SELECT [ImageId], [area], [image], [rate] FROM [image1]\"

OldValuesParameterFormatString=\"original_{0}\">
</asp:SqlDataSource>

<br />
<br />
<asp:DataList ID=\"DataList1\" runat=\"server\" BorderColor=\"Aqua\"

BorderWidth=\"2px\" CellPadding=\"3\" CellSpacing=\"4\" DataKeyField=\"ImageId\"

DataSourceID=\"SqlDataSource2\" GridLines=\"Both\"

ons electedindexchanged=\"DataList1_SelectedIndexChanged\" RepeatColumns=\"4\"

RepeatDirection=\"Horizontal\">
<ItemTemplate>
ImageId:
<asp:Label ID=\"ImageIdLabel\" runat=\"server\" Text='<%# Eval(\"ImageId\") %>' />
<br />
area:
<asp:Label ID=\"areaLabel\" runat=\"server\" Text='<%# Eval(\"area\") %>' />
<br />
image:
<asp:Label ID=\"imageLabel\" runat=\"server\" Text='<%# Eval(\"image\") %>' />
<asp:Image ID=\"Image1\" runat=\"server\"

ImageUrl='<%# \"Handler1.ashx?id=\" + Eval(\"Img_Id\") %>' />
<br />
rate:
<asp:Label ID=\"rateLabel\" runat=\"server\" Text='<%# Eval(\"rate\") %>' />
<br />
<br />
</ItemTemplate>
</asp:DataList>

</div>
</form>
</body>
</html>
ConnectionStrings:ConnectionString %>" SelectCommand="SELECT [ImageId], [area], [image], [rate] FROM [image1]" OldValuesParameterFormatString="original_{0}"> </asp:SqlDataSource> <br /> <br /> <asp:DataList ID="DataList1" runat="server" BorderColor="Aqua" BorderWidth="2px" CellPadding="3" CellSpacing="4" DataKeyField="ImageId" DataSourceID="SqlDataSource2" GridLines="Both" onselectedindexchanged="DataList1_SelectedIndexChanged" RepeatColumns="4" RepeatDirection="Horizontal"> <ItemTemplate> ImageId: <asp:Label ID="ImageIdLabel" runat="server" Text='<%# Eval("ImageId") %>' /> <br /> area: <asp:Label ID="areaLabel" runat="server" Text='<%# Eval("area") %>' /> <br /> image: <asp:Label ID="imageLabel" runat="server" Text='<%# Eval("image") %>' /> <asp:Image ID="Image1" runat="server" ImageUrl='<%# "Handler1.ashx?id=" + Eval("Img_Id") %>' /> <br /> rate: <asp:Label ID="rateLabel" runat="server" Text='<%# Eval("rate") %>' /> <br /> <br /> </ItemTemplate> </asp:DataList> </div> </form> </body> </html>



My coding is:


My coding is:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.IO;

namespace rzonefinal
{
    public partial class listview : System.Web.UI.Page
    {
        static int a = 1;
       
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            if (FileUpload1.PostedFile != null && FileUpload1.PostedFile.FileName != "")
            {

                //int a;
                //a = int.Parse(TextBox1.Text);
                int b;
                b = int.Parse(TextBox2.Text);
                float c;
                c = float.Parse(TextBox3.Text);
                int m = 1;

                byte[] myimage = new byte[FileUpload1.PostedFile.ContentLength];
                HttpPostedFile Image = FileUpload1.PostedFile;
                Image.InputStream.Read(myimage, 0, (int)FileUpload1.PostedFile.ContentLength);

                SqlConnection myConnection = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database1.mdf;Integrated Security=True;User Instance=True");


                //SqlCommand cmd = new SqlCommand("select Img_Id from image1", myConnection);
                //myConnection.Open();
                //SqlDataAdapter da = new SqlDataAdapter(cmd);
                //DataSet dt = new DataSet();
                //da.Fill(dt);
                //if (dt.Tables[0].Rows.Count > 0)
                //{
                //    for (int i = 0; i < dt.Tables[0].Rows.Count; i++)
                //    {
                //        a = int.Parse(dt.Tables[0].Rows[i][0].ToString());
                //    }
                //    m = ++a;
                //}

                m = ++a;

                SqlCommand storeimage = new SqlCommand("INSERT INTO image1(rate,area,image,place,name,image_type,image_size,Img_Id) values (" + b + "," + c + ", @Image,'" + TextBox4.Text + "','" + TextBox5.Text + "',@imagetype,@imagesize," + m + ")", myConnection);
                storeimage.Parameters.Add("@Image", SqlDbType.Image, myimage.Length).Value = myimage;
                storeimage.Parameters.Add("@imagetype", SqlDbType.VarChar, 100).Value = FileUpload1.PostedFile.ContentType;
                storeimage.Parameters.Add("@imagesize", SqlDbType.BigInt, 99999).Value = FileUpload1.PostedFile.ContentLength;

                // myConnection.Open();
                storeimage.ExecuteNonQuery();
                myConnection.Close();
                TextBox1.Text = "";
                TextBox2.Text = "";
                TextBox3.Text = "";
                TextBox4.Text = "";
                TextBox5.Text = "";
            }
        }

        protected void DataList1_SelectedIndexChanged(object sender, EventArgs e)
        {
             
            //DataList1.DataSource = FetchAllImagesInfo();
            //DataList1.DataBind();
            //DataList1.Visible = true;
        }

        //public DataTable FetchAllImagesInfo()
        //{
        //    string sql = "Select * from Images";
        //    SqlDataAdapter da = new SqlDataAdapter(sql, "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Users\\RAJ\\Desktop\\Rzone\\rzonefinal\\App_Data\\Database1.mdf;Integrated Security=True;User Instance=True");
        //    DataTable dt = new DataTable();
        //    da.Fill(dt);
        //    return dt;
        //}

        }
    }



Please help me.


Please help me.


这篇关于如何使用datalist中的文件处理程序从数据库中获取图像?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆