プログラムのメモ置き場 @ ウィキ
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
- <html xmlns="http://www.w3.org/1999/xhtml" >
- <head runat="server">
- <title>バイナリ・データをDataListに表示</title>
- </head>
- <body>
- <form id="form1" runat="server">
- <h3>
- バイナリ・データをDataListに表示</h3>
- <asp:DataList ID="DataList1" runat="server" DataKeyField="id" DataSourceID="SqlDataSource1">
- <ItemTemplate>
- <strong>
- id:</strong>
- <asp:Label ID="lblId" runat="server" Text='<%# Eval("id") %>'></asp:Label>
- <strong>
- subject:</strong>
- <asp:Label ID="lblSubject" runat="server" Text='<%# Eval("subject") %>'></asp:Label><br />
- <asp:Image ID="imgIdata" runat="server" /><br />
- <hr />
- </ItemTemplate>
- </asp:DataList>
- <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:NetWorks01ConnectionString %>"
- SelectCommand="SELECT [id], [subject] FROM [d_Image]">
- </asp:SqlDataSource>
- </form>
- </body>
- </html>
Image_list.aspx.vb
- Partial Class ImageThumbnail_ImageList
- Inherits System.Web.UI.Page
-
- Protected Sub DataList1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles DataList1.ItemDataBound
-
- If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
- Dim id As Label = CType(e.Item.FindControl("lblId"), Label)
- Dim image As Image = CType(e.Item.FindControl("imgIdata"), Image)
-
- image.ImageUrl = "Image.aspx?id=" & id.Text
- End If
-
- End Sub
- End Class
Image.aspx
※空のページ
- <html xmlns="http://www.w3.org/1999/xhtml" >
- <head runat="server">
- <title>画像</title>
- </head>
- <body>
- <form id="form1" runat="server">
- </form>
- </body>
- </html>
Image.aspx.vb
- Imports System.Data.SqlClient
- Imports System.Data
-
- Partial Class ImageThumbnail_Image
- Inherits System.Web.UI.Page
-
- Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
-
- '選択されたIDの画像をDBから取り出して表示する。
-
- Dim id As Integer
- id = Request.QueryString("id")
-
- Dim db As New SqlConnection(ConfigurationManager.AppSettings("dbstr"))
- Dim cmd As SqlCommand = New SqlCommand("SELECT type,idata FROM d_Image WHERE id=@p1", db)
- Dim p1 As SqlParameter = cmd.Parameters.Add("@p1", SqlDbType.Int)
- p1.Value = id
- db.Open()
- Dim rs As SqlDataReader = cmd.ExecuteReader()
- If rs.Read Then
- Response.ContentType = CType(rs("type"), String)
- Response.BinaryWrite(DirectCast(rs("idata"), Byte()))
- Response.End()
- End If
- rs.Close()
- db.Close()
-
- End Sub
- End Class
[Counter] Total: -