使用数据绑定从/向数据库加载和保存图像

时间:2012-07-27 01:21:43

标签: c# sql ado.net

我创建了2个表单:

UserFrm:包含一些文本框,combox,pictureBox和Buttons(添加,编辑,删除)。

UserListFrm:包含一个从数据库加载信息的DataGridView。

我的问题是:

1 - 如何使用数据绑定保存/编辑/删除(我加载到pictureBox的图片)到数据库。

2 - 如何使用数据绑定将图片加载到DataGridView。

注意:我使用C#作为编程语言。

1 个答案:

答案 0 :(得分:0)

GridView中的图像列

 <asp:TemplateField  HeaderText="Picture"> 
                        <ItemTemplate> 
                          <asp:Image ID="Image1" runat="server" ImageUrl='<%#    "Handler.ashx?id=" + Eval("Img_Id")  %>' />
                        </ItemTemplate> 
                    </asp:TemplateField>  

Handler.ashx:

<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Data;
using System.Web;
using System.Data.SqlClient;
using System.IO;
public class Handler : IHttpHandler {    
    public void ProcessRequest (HttpContext context) {
 SqlConnection myConnection = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database.mdf;Integrated Security=True;User Instance=True"); 
  myConnection.Open(); 
  string sql = "Select Image_Content from ImageGallery where Img_Id=@ImageId"; 
  SqlCommand cmd = new SqlCommand(sql, myConnection); 
  cmd.Parameters.Add("@ImageId",SqlDbType.Int).Value =Convert.ToInt32(context.Request.QueryString["id"]); 
  cmd.Prepare(); 
  SqlDataReader dr = cmd.ExecuteReader(); 
  dr.Read();
  context.Response.ContentType = "jpeg";//dr["Image_Type"].ToString(); 
  context.Response.BinaryWrite((byte[])dr["Image_Content"]); 

    }



   public bool IsReusable {
        get {
            return false;
        }
    }

}