专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »DotNet » 数据库图片:DataGrid中显示数据库中的图片 »正文

数据库图片:DataGrid中显示数据库中的图片

来源: 发布时间:星期四, 2009年2月12日 浏览:113次 评论:0


篇文章说了如何把图片保存到数据库中所以做了个例子将图片显示在DATAGRID前面说过了用Response.BinaryWrite只可以显示张图片现在用个DATAGRIDControl控件将图片显示在DATAGRID中IMAGEControl控件里(提示:下面例子没有做分页功能)
里面用了两个图片Control控件个是服务器端ImageButton,另个是客户端ImageControl控件


\"\"
前台代码:
<%@ Page language=\"c#\" Codebehind=\"DataGridImage.aspx.cs\" AutoEventWireup=\"false\" Inherits=\"NetTest.DataGridImage\" %>
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" >
<HTML>
<HEAD>
<title>DataGridImage</title>
<meta name=\"GENERATOR\" Content=\"Microsoft Visual Studio .NET 7.1\">
<meta name=\"CODE_LANGUAGE\" Content=\"C#\">
<meta name=\"vs_defaultClientScript\" content=\"JavaScript\">
<meta name=\"vs_targetSchema\" content=\"http://schemas.microsoft.com/ellisense/ie5\">
</HEAD>
<body MS_POSITIONING=\"GridLayout\">
<form id=\"Form1\" method=\"post\" runat=\"server\">
<table align=\"center\" border=\"1\" width=\"60%\">
<TBODY>
<tr>
<td align=\"center\"><font style=\"FONT-WEIGHT: bold; FONT-SIZE: 11pt\">DataGrid中显示数据库中图片</font></td>
</tr>
<tr>
<td>
<asp:DataGrid id=\"DataGrid1\" runat=\"server\" AutoGenerateColumns=\"False\" width=\"100%\">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<FONT face=\"宋体\">
<TABLE id=\"Table1\" cellSpacing=\"1\" cellPadding=\"1\" width=\"100%\" border=\"0\">
<TR>
<TD colspan=\"2\"><FONT style=\"FONT-SIZE: 10pt\">图片名称:</FONT> <FONT style=\"FONT-SIZE: 10pt\">
<asp:Label id=\"lbImageName\" runat=\"server\" Text=\'<%# DataBinder.Eval(Container,\"DataItem.ImageName\")%>\'>
</asp:Label></FONT></TD>
</TR>
<TR>
<TD><FONT style=\"FONT-SIZE: 10pt\">图片:</FONT>
<asp:Image id=Imagebutton1 Width=100 Height=100 runat=\"server\" ImageUrl=\'<%# \"ReadImage.aspx?ImageID=\"+DataBinder.Eval(Container,\"DataItem.ID\")%>\'>
</asp:Image>
</TD>
<td>
<IMG width=100 height=100 alt=\"\" src=\'<%# \"ReadImage.aspx?ImageID=\"+DataBinder.Eval(Container,\"DataItem.ID\")%>\'\">
</td>
</TR>
</TABLE>
</FONT>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid></td>
</tr>
</TBODY>
</table>
</form>
</body>
</HTML>







后台代码: using ;
using .Collections;
using .ComponentModel;
using .Data;
using .Drawing;
using .Web;
using .Web.SessionState;
using .Web.UI;
using .Web.UI.WebControls;
using .Web.UI.HtmlControls;
using .Data.SqlClient;

NetTest
{
/// <summary>
/// DataGridImage 摘要介绍说明
/// </summary>
public DataGridImage : .Web.UI.Page
{
protected .Web.UI.WebControls.DataGrid DataGrid1;
private str=\"server=localhost;uid=sa;pwd=;database=northwind\";
private void Page_Load(object sender, .EventArgs e)
{
(!IsPostBack)
{
FillData;
}
}

#region Web 窗体设计器生成代码
override protected void _disibledevent=>}
#endregion

private void FillData//绑定DATAGRID
{
SqlConnection cn= SqlConnection(str);
SqlCommand cmd= SqlCommand;
cmd.CommandText=\"SELECT * from UpImage\";
cmd.Connection=cn;
cn.Open;
SqlDataAdapter da= SqlDataAdapter;
da.SelectCommand=cmd;
DataSet ds= DataSet;
da.Fill(ds,\"Images\");
DataGrid1.DataSource=ds.Tables[\"Images\"];
DataGrid1.DataBind;
cn.Close;
}
}
}




ReadImage.aspx(根据传过来图片编号取得图片只要建个页面就可以了不用放置任何Control控件)
后台代码: using ;
using .Collections;
using .ComponentModel;
using .Data;
using .Drawing;
using .Web;
using .Web.SessionState;
using .Web.UI;
using .Web.UI.WebControls;
using .Web.UI.HtmlControls;
using .Data.SqlClient;
NetTest
{
/// <summary>
/// ReadImage 摘要介绍说明
/// </summary>
public ReadImage : .Web.UI.Page
{

private void Page_Load(object sender, .EventArgs e)
{
conn=\"server=localhost;uid=sa;pwd=;database=northwind\";
SqlConnection cn= SqlConnection(conn);
SqlCommand cmd= SqlCommand;
cmd.CommandText=\"select Image from UpImage where ID=\'\"+this.Request[\"ImageID\"]+\"\'\";
cmd.Connection=cn;
cn.Open;
this.Response.ContentType=\"image/*\";
SqlDataReader dr=cmd.ExecuteReader;
while(dr.Read)
{
this.Response.BinaryWrite(()dr[\"Image\"]);
}
cn.Close;
}

#region Web 窗体设计器生成代码
override protected void _disibledevent=>}
#endregion

}
}






0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: