在ASP中显示图像:从sql server获取路径的图像

时间:2013-11-01 10:16:22

标签: c# asp.net sql image

我从sql获取图片网址路径。 现在我的代码在asp.net asp中显示Image:Image是

con = new SqlConnection(connect);
        cmd = new SqlCommand();
        cmd.Connection = con;
        cmd.CommandText = "select_performer_Gold";
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@Performance_Category", Performance_Category);
        con.Open();

        SqlDataReader dr = cmd.ExecuteReader();
        while (dr.Read())
        {
            goldimg1.ImageUrl = "User_Images/" + dr["User_image"].ToString();
            goldimg2.ImageUrl = "User_Images/" + dr["User_image"].ToString();
        }

问题是while循环运行2次,因为我在DB中有2行 所以在第一个循环中,两个图像URL都被赋予第一行图像路径 在第二个循环中,两个图像URL都被赋予第二行图像路径 因此,goldimg1和goldimg2中只显示第二行User_Image。

如何在goldimg1和goldimg2中显示相应的图像

2 个答案:

答案 0 :(得分:0)

为了获得更好的结果,您必须使用SqlDataAdapter

首先:在Dataset

中返回结果

然后将其与goldimg1.ImageUrl

绑定

示例:

goldimg1.ImageUrl=ds.Table[0].Rows[0]["User_image"].ToString();
goldimg2.ImageUrl=ds.Table[0].Rows[1]["User_image"].ToString();    //you can also use forech loop

答案 1 :(得分:0)

此代码可帮助您从数据库获取所有图像路径。

在使用for循环之前,您必须在<image>GridView

中采用ListView控件
 if(ds.Tables[0].Rows.Count>0)
    {
      for(int i=0;i<=ds.Rows.Count-1;i++)
         {
           goldimg1.ImageUrl=ds.Table[0].Rows[i]["User_image"].ToString();
         }
    }

一些例子:

http://www.aspdotnet-suresh.com/2011/03/how-to-save-images-into-folder-and.html http://www.aspdotnet-suresh.com/2011/01/how-to-insert-images-into-database-and.html