アットウィキロゴ
プログラムのメモ置き場 @ ウィキ
掲示板 掲示板 ページ検索 ページ検索 メニュー メニュー

プログラムのメモ置き場 @ ウィキ

asp004

最終更新:

chaka-poko

- view
管理者のみ編集可

DBに登録したバイナリデータをDataListに表示

テーブルのレイアウト

  d_Image
フィールド名 データ型
id int ID(主キー 連番)
subject varchar(300) 件名
title varchar(100) ファイル名
type varchar(50) MIMEタイプ
idata varbinary(MAX) バイナリ・データ
last_modified datetime 最終更新日

Image_List.aspx

  1. <html xmlns="http://www.w3.org/1999/xhtml" >
  2. <head runat="server">
  3. <title>バイナリ・データをDataListに表示</title>
  4. </head>
  5. <body>
  6. <form id="form1" runat="server">
  7. <h3>
  8. バイナリ・データをDataListに表示</h3>
  9. <asp:DataList ID="DataList1" runat="server" DataKeyField="id" DataSourceID="SqlDataSource1">
  10. <ItemTemplate>
  11. <strong>
  12. id:</strong>
  13. <asp:Label ID="lblId" runat="server" Text='<%# Eval("id") %>'></asp:Label>
  14. <strong>
  15. subject:</strong>
  16. <asp:Label ID="lblSubject" runat="server" Text='<%# Eval("subject") %>'></asp:Label><br />
  17. <asp:Image ID="imgIdata" runat="server" /><br />
  18. <hr />
  19. </ItemTemplate>
  20. </asp:DataList>
  21. <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:NetWorks01ConnectionString %>"
  22. SelectCommand="SELECT [id], [subject] FROM [d_Image]">
  23. </asp:SqlDataSource>
  24. </form>
  25. </body>
  26. </html>

Image_list.aspx.vb

  1. Partial Class ImageThumbnail_ImageList
  2. Inherits System.Web.UI.Page
  3.  
  4. Protected Sub DataList1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles DataList1.ItemDataBound
  5.  
  6. If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
  7. Dim id As Label = CType(e.Item.FindControl("lblId"), Label)
  8. Dim image As Image = CType(e.Item.FindControl("imgIdata"), Image)
  9.  
  10. image.ImageUrl = "Image.aspx?id=" & id.Text
  11. End If
  12.  
  13. End Sub
  14. End Class

Image.aspx

※空のページ
  1. <html xmlns="http://www.w3.org/1999/xhtml" >
  2. <head runat="server">
  3. <title>画像</title>
  4. </head>
  5. <body>
  6. <form id="form1" runat="server">
  7. </form>
  8. </body>
  9. </html>

Image.aspx.vb

  1. Imports System.Data.SqlClient
  2. Imports System.Data
  3.  
  4. Partial Class ImageThumbnail_Image
  5. Inherits System.Web.UI.Page
  6.  
  7. Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  8.  
  9. '選択されたIDの画像をDBから取り出して表示する。
  10.  
  11. Dim id As Integer
  12. id = Request.QueryString("id")
  13.  
  14. Dim db As New SqlConnection(ConfigurationManager.AppSettings("dbstr"))
  15. Dim cmd As SqlCommand = New SqlCommand("SELECT type,idata FROM d_Image WHERE id=@p1", db)
  16. Dim p1 As SqlParameter = cmd.Parameters.Add("@p1", SqlDbType.Int)
  17. p1.Value = id
  18. db.Open()
  19. Dim rs As SqlDataReader = cmd.ExecuteReader()
  20. If rs.Read Then
  21. Response.ContentType = CType(rs("type"), String)
  22. Response.BinaryWrite(DirectCast(rs("idata"), Byte()))
  23. Response.End()
  24. End If
  25. rs.Close()
  26. db.Close()
  27.  
  28. End Sub
  29. End Class

[Counter] Total: -
最近更新されたスレッド
ウィキ募集バナー