从SQL Server数据库提取图片并显示在DataGrid

博客展示了从SQL Server数据库提取图片并显示在DataGrid的代码实现。包含ReadImage.aspx和DataGridShowImage.aspx两个页面代码,通过SQL查询获取图片数据,利用DataGrid绑定数据并显示图片,还处理了可能出现的SQL异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

None.gif<!-- ReadImage.aspx -->
ExpandedBlockStart.gifContractedBlock.gif
<%dot.gif@ Page Language="vb" %>
ExpandedBlockStart.gifContractedBlock.gif
<%dot.gif@ Import Namespace="System.Data" %>
ExpandedBlockStart.gifContractedBlock.gif
<%dot.gif@ Import Namespace="System.Data.SqlClient" %>
None.gif
<HTML>
None.gif
<HEAD>
None.gif
<script runat=server>
None.gif
Public Sub Page_Load(sender As Object, e As EventArgs)
None.gif  Dim strImageID as String 
= Request.QueryString("id")
None.gif  
Dim myConnection As New SqlConnection("Data Source=.;Initial Catalog=mxh;User Id=sa;Password=;")
None.gif  
Dim myCommand As New SqlCommand("Select PersonImageType, PersonImage from Person Where PersonID=" _
None.gif    + strImageID, myConnection)
None.gif
None.gif  Try
None.gif    myConnection.Open()
None.gif    Dim myDataReader as SqlDataReader 
None.gif    myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
None.gif    Do While (myDataReader.Read())
None.gif    Response.ContentType = myDataReader.Item("
PersonImageType")
None.gif    Response.BinaryWrite(myDataReader.Item("PersonImage"))
None.gif    Loop
None.gif    myConnection.Close()
None.gif    Catch SQLexc As SqlException
None.gif  End Try
None.gifEnd Sub    
ExpandedBlockStart.gifContractedBlock.gif</script
>dot.gif
InBlock.gif
</HEAD>
InBlock.gif
<body>
InBlock.gif
<form runat="server" ID="Form1"></form>
InBlock.gif
</body>
InBlock.gif
</HTML>
InBlock.gif
InBlock.gif
None.gif<!-- DataGridShowImage.aspx -->
ExpandedBlockStart.gifContractedBlock.gif
<%dot.gif@ Page Language="vb" %>
ExpandedBlockStart.gifContractedBlock.gif
<%dot.gif@ Import Namespace="System.Data" %>
ExpandedBlockStart.gifContractedBlock.gif
<%dot.gif@ Import Namespace="System.Data.SqlClient" %>
None.gif
<html>
None.gif
<head>
None.gif
<title>用户列表</title>
None.gif
<script runat=server>
None.gif
Sub Page_Load(sender As Object, e As EventArgs)
None.gif  If Not Page.IsPostBack Then
None.gif  BindGrid()
None.gif  End If
None.gifEnd Sub
None.gif
None.gifPrivate Sub BindGrid()
None.gif  Dim strCnn As String 
= "Data Source=.;Initial Catalog=mxh;User Id=sa;Password=;"
None.gif  Dim myConnection As SqlConnection 
= New SqlConnection(strCnn)
None.gif  Dim myCommand As SqlCommand 
= New SqlCommand("SELECT * FROM Person", myConnection)
None.gif  myCommand.CommandType 
= CommandType.Text
None.gif  
Try
None.gif    myConnection.Open()
None.gif    DG_Persons.DataSource 
= myCommand.ExecuteReader(CommandBehavior.CloseConnection)
None.gif    
DG_Persons.DataBind()
None.gif    Catch SQLexc As SqlException
None.gif    Response.Write("Error occured while Generating Data. Error is " & SQLexc.ToString())
None.gif  End Try
None.gifEnd Sub
None.gif
None.gifFunction FormatURL(strArgument) as String
None.gif  Return ("ReadImage.aspx?id
=" & strArgument)
None.gifEnd Function
None.gif</script>
None.gif</head>
ExpandedBlockStart.gifContractedBlock.gif<body style="
font: 9pt 宋体">dot.gif
InBlock.gif
<h3 align=center>从数据库中取得照片并显示在DataGrid中</h3>
InBlock.gif
<form id="Form1" method="post" runat="server">
InBlock.gif
<asp:DataGrid ID="DG_Persons" AutoGenerateColumns=False Width="99%"
InBlock.gif HeaderStyle
-BackColor="#ff0000" HeaderStyle-Font-Bold="True" HeaderStyle-ForeColor="#ffffff"
InBlock.gif ItemStyle
-BackColor=Beige BorderColor="#000000" Runat=server HeaderStyle-HorizontalAlign=Center>
InBlock.gif
<Columns>
InBlock.gif
<asp:TemplateColumn HeaderText="姓名">
InBlock.gif
<ItemTemplate>
InBlock.gif
<asp:Label Runat="server"  Text='<%# DataBinder.Eval(Container.DataItem, "PersonName"%>' ID="Label1"/>
InBlock.gif
</ItemTemplate>                               
InBlock.gif
</asp:TemplateColumn>
InBlock.gif
<asp:TemplateColumn HeaderText="电子邮件">
InBlock.gif
<ItemTemplate>
InBlock.gif
<asp:Label Runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "PersonEmail"%>' ID="Label2"/>
InBlock.gif
</ItemTemplate>                               
InBlock.gif
</asp:TemplateColumn>
InBlock.gif
<asp:TemplateColumn HeaderText="性别">
InBlock.gif
<ItemTemplate>
InBlock.gif
<asp:Label Runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "PersonSex"%>' ID="Label3"/>
InBlock.gif
</ItemTemplate>                               
InBlock.gif
</asp:TemplateColumn>
InBlock.gif
<asp:TemplateColumn HeaderText="出生日期">
InBlock.gif
<ItemTemplate>
InBlock.gif
<asp:Label Runat="server" 
InBlock.gif  Text
='<%# DataBinder.Eval(Container.DataItem, "PersonDOB"%>' ID="Label4"/>
InBlock.gif
</ItemTemplate>                               
InBlock.gif
</asp:TemplateColumn>
InBlock.gif
<asp:TemplateColumn HeaderText="照片">
InBlock.gif
<ItemTemplate>
InBlock.gif
<asp:Image Runat=server ID="Image1"  Width="150" Height="125"
InBlock.gif ImageUrl
='<%# FormatURL(DataBinder.Eval(Container.DataItem, "PersonID")) %>'  />
InBlock.gif
</ItemTemplate>                               
InBlock.gif
</asp:TemplateColumn>
InBlock.gif
</Columns>
InBlock.gif
</asp:DataGrid>
InBlock.gif
</form>
InBlock.gif
</body>
InBlock.gif
</html>
InBlock.gif
InBlock.gif

转载于:https://www.cnblogs.com/acelove/archive/2005/01/04/86292.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值