打印本文 打印本文 关闭窗口 关闭窗口
从SQL Server数据库提取图片并显示在DataGrid
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1022  更新时间:2007/11/14 12:55:46  文章录入:mintao  责任编辑:mintao
从SQL Server数据库提取图片并显示在DataGrid 作者:孟宪会 出自:【孟宪会之精彩世界】 发布日期:2003年6月20日 7点27分10秒

下面的代码实现从SQL Server数据库提取图片并显示在DataGrid的功能。

下面就是完整的代码,拷贝即可运行:

<%@ Page Language="vb" %> <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.SqlClient" %> <html> <head> <title>用户列表</title> </head> <body style="font: 9pt 宋体"> <h3 align=center>从数据库中取得照片并显示在DataGrid中</h3> <form id="Form1" method="post" runat="server"> <Columns> <ItemTemplate> '''' ID="Label1"/> </ItemTemplate> <ItemTemplate> '''' ID="Label2"/> </ItemTemplate> <ItemTemplate> '''' ID="Label3"/> </ItemTemplate> <ItemTemplate> '''' ID="Label4"/> </ItemTemplate> <ItemTemplate> '''' /> </ItemTemplate> </Columns> </form> </body> </html>

ReadImage.aspx

<%@ Page Language="vb" %> <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.SqlClient" %> <HTML> <HEAD> </HEAD> <body> <form runat="server" ID="Form1"></form> </body> </HTML>

C# 版本

DataGridShowImage.aspx

<%@ Page language="c#" debug="true" Codebehind="DataGridShowImage.aspx.cs" AutoEventWireup="false" Inherits="eMeng.Exam.DataGridShowImage.DataGridShowImage" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> <title>从数据库中取得照片并显示在DataGrid中</title> <meta name="GENERATOR" Content="Microsoft Visual Studio 7.0"> <meta name="CODE_LANGUAGE" Content="C#"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> </HEAD> <body MS_POSITIONING="GridLayout"> <form id="DataGridShowImage" method="post" runat="server"> <h3 align="center">从数据库中取得照片并显示在DataGrid中</h3> <Columns> <ItemTemplate> '''' ID="Label1"/> </ItemTemplate> <ItemTemplate> '''' ID="Label2"/> </ItemTemplate> <ItemTemplate> '''' ID="Label3"/> </ItemTemplate> <ItemTemplate> '''' ID="Label4"/> </ItemTemplate> <ItemTemplate> '''' /> </ItemTemplate> </Columns> </form> </body> </HTML>

DataGridShowImage.aspx.cs

using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Data.SqlClient; namespace eMeng.Exam.DataGridShowImage { /// <summary> /// DataGridShowImage 的摘要说明。 /// </summary> public class DataGridShowImage : System.Web.UI.Page { protected System.Web.UI.WebControls.DataGrid DG_Persons; private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 if(!this.IsPostBack) { BindGrid(); } } private void BindGrid() { string strCnn = "Data Source=.;Initial Catalog=mxh;User Id=sa;Password=;"; SqlConnection myConnection = new SqlConnection(strCnn); SqlCommand myCommand = new SqlCommand("SELECT * FROM Person", myConnection); myCommand.CommandType = CommandType.Text; try { myConnection.Open(); DG_Persons.DataSource = myCommand.ExecuteReader(CommandBehavior.CloseConnection); DG_Persons.DataBind(); } catch(SqlException SQLexc) { Response.Write("提取数据时出现错误:" + SQLexc.ToString()); } } protected string FormatURL(object strArgument) { return "ReadImage.aspx?id=" + strArgument.ToString(); } #region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load); } #endregion } }

ReadImage.aspx

<%@ Page language="c#" Codebehind="ReadImage.aspx.cs" AutoEventWireup="false" Inherits="eMeng.Exam.DataGridShowImage.ReadImage" %>

ReadImage.aspx.cs

using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Data.SqlClient; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; namespace eMeng.Exam.DataGridShowImage { /// <summary> /// ReadImage 的摘要说明。 /// </summary> public class ReadImage : System.Web.UI.Page { private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 string strImageID = Request.QueryString["id"]; SqlConnection myConnection = new SqlConnection("Data Source=.;Initial Catalog=mxh;User Id=sa;Password=;"); SqlCommand myCommand = new SqlCommand("Select PersonImageType, PersonImage from Person Where PersonID=" + strImageID, myConnection); try { myConnection.Open(); SqlDataReader myDataReader; myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection); if(myDataReader.Read()) { Response.Clear(); Response.ContentType = myDataReader["PersonImageType"].ToString(); Response.BinaryWrite((byte[])myDataReader["PersonImage"]); } myConnection.Close(); } catch (SqlException SQLexc) { } Response.End(); } #region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load); } #endregion } }

打印本文 打印本文 关闭窗口 关闭窗口