用datagrid來顯示數據庫中的圖片的代碼:retrieveimgbydatagrid.aspx
-----
<%@ Page Language="vb" Debug="true" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script language="VB" runat="server">
 dim MyConnection As OleDbConnection Sub Page_Load(s As Object, E As EventArgs)
     MyConnection = New OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" + Server.MapPath(".")+"/db/kk.mdb")
        If Not (IsPostBack) then
        BindDataGrid()
        End If
 End SubSub BindDataGrid()
    dim dadTitles as OleDbDataAdapter
    dim dstTitles as DataSet
    dadTitles=new OleDbDataAdapter("select * from [imgs] order by id desc",MyConnection)
dstTitles=new DataSet
dadTitles.fill(dstTitles)
MyDataGrid.DataSource=dstTitles
MyDataGrid.DataBind()
End SubSub Mydatagrid_PageIndexChanged(s as object,e as DataGridPageChangedEventargs)
    MyDataGrid.CurrentPageIndex=e.newPageIndex
BindDataGrid()
End SubFunction FormatURL(strArgument) as String
      Return ("RetrieveImgByDataGrid_SelectImg.aspx?id=" & strArgument)
End Function</script>
<html>
<head><title>DataGrid_CheckBox.aspx</title></head>
<body>
<B><A HREF="insertimgtodatabase.aspx">Insert Img To DataBase</A></B>
<form runat="server">
<asp:DataGrid id="MyDataGrid"
              width="300"
              Runat="server"
              AllowPaging="true" 
  pageSize="5" 
  OnPageIndexChanged="Mydatagrid_PageIndexChanged" 
  cellPadding="3"
  AutoGenerateColumns="false" 
  HeaderStyle-BackColor="#ff0000"
      HeaderStyle-Font-Bold="True"
      HeaderStyle-Font-Name="Verdana"
      HeaderStyle-Font-Size="13px"
      HeaderStyle-ForeColor="#ffffff"
      ItemStyle-BackColor=Beige
      ItemStyle-Font-Name="verdana"
      ItemStyle-Font-Size="13px"
  >
              <PagerStyle Mode="NumericPages"
              Font-Bold="true" 
              BackColor="#FFCC99"
              HorizontalAlign="right" 
  >    
  </PagerStyle>
     <Columns>
<asp:TemplateColumn HeaderText="ID">
<ItemTemplate>
        <asp:Label ID="lblID"  Text='<%# DataBinder.Eval(Container.DataItem, "id") %>' Runat=server />
</ItemTemplate> 
</asp:TemplateColumn> 
<asp:TemplateColumn HeaderText="NAME">
<ItemTemplate>
        <asp:Label ID="lblName"  Text='<%# DataBinder.Eval(Container.DataItem, "name") %>' Runat=server />
</ItemTemplate> 
</asp:TemplateColumn> 
<asp:TemplateColumn HeaderText="Image">
            <ItemTemplate>
              <asp:Image  Width="150" Height="125" ImageUrl='<%# FormatURL(DataBinder.Eval(Container.DataItem, "ID")) %>' Runat=server />
            </ItemTemplate>                               
       </asp:TemplateColumn>
   <asp:TemplateColumn HeaderText="ShowImage_HyperLink">
            <ItemTemplate>
              <asp:HyperLink  Width="150" Height="125" ImageUrl='<%# FormatURL(DataBinder.Eval(Container.DataItem, "ID")) %>' NavigateUrl='<%# "RetrieveImgByDataGrid_SelectImg.aspx?id=" & DataBinder.Eval(Container.DataItem, "ID")%>' Runat="server" />
            </ItemTemplate>                               
       </asp:TemplateColumn>                   
  </Columns>
</asp:DataGrid>
</form>
</body>
</html>

解决方案 »

  1.   

    RetrieveImgByDataGrid_SelectImg.aspx
    ----
    <%@ Page Language="vb" %>
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.OleDb" %>
    <HTML>
      <HEAD>
        <title>Retrieving Image from the Sql Server</title>
        <script runat=server>
       dim MyConnection as OleDbConnection
           dim ID as Integer       Public Sub Page_Load(sender As Object, e As EventArgs)
            ID=Request.QueryString("id")        'Create Instance of Connection and Command Object
            MyConnection = New OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" + Server.MapPath(".")+"/db/kk.mdb")        Dim myCommand As New OleDbCommand("SELECT * FROM [imgs] WHERE ID=" &ID, myConnection)
              Try
                  myConnection.Open()
                  Dim myDataReader as OleDbDataReader 
                  myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
                 Do While (myDataReader.Read())
                     'Response.Write (myDataReader.Item("id"))
                     Response.BinaryWrite (myDataReader.Item("Img"))
                 Loop
                  myConnection.Close()
                  Response.Write("Person info successfully retrieved!")
                Catch SQLexc As OleDbException
                  Response.Write("Read Failed : " & SQLexc.ToString())
                End Try
             End Sub    
      </script>
      </HEAD>
      <body style="font: 10pt verdana">
      <asp:Label id="ShowName" runat="server"/>
      </body>
    </HTML>
      

  2.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=ECD9AE16-8FF0-4A1C-9B9F-5E8B641CB1B1
      

  3.   

    to nnh(菲一打) 
    你写的就是我现在用的代码,虽然是显示了多张图片,可是在调用读取图片的页面的时候,就有一次数据库调用,那么我要是显示10张图片,不得调用10次数据库了吗?