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

asp005

最終更新:

chaka-poko

- view
管理者のみ編集可

バイナリ・データをデータベースに登録する

テーブルのレイアウト

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

ImageUpload.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. <h3>
  8. バイナリ・データをデータベースに格納する</h3>
  9. 件名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
  10. <br />
  11. 画像:<asp:FileUpload ID="FileUpload1" runat="server" />
  12. <asp:Button ID="Button1" runat="server" Text="更新" />
  13. </form>
  14. </body>
  15. </html>

ImageUpload.aspx.vb

  1. Imports System.Data.SqlClient
  2. Imports System.Data
  3. Imports System.IO
  4.  
  5. Partial Class ImageUpload_ImageUpload
  6. Inherits System.Web.UI.Page
  7.  
  8. Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
  9. 'アップロードファイルをバイト配列で取り出して、データベースのバイナリ列に保存する。
  10. Dim db As New SqlConnection(ConfigurationManager.AppSettings("dbstr"))
  11. Dim cmd As SqlCommand = _
  12. New SqlCommand("INSERT INTO d_Image(subject,title,type,idata,last_modified) VALUES @p1,@p2,@p3,@p4,@p5)", db)
  13. Dim p1 As SqlParameter = cmd.Parameters.Add("@p1", SqlDbType.VarChar, 100)
  14. p1.Value = Me.TextBox1.Text
  15. Dim p2 As SqlParameter = cmd.Parameters.Add("@p2", SqlDbType.VarChar, 100)
  16. p2.Value = Path.GetFileName(Me.FileUpload1.PostedFile.FileName)
  17. Dim p3 As SqlParameter = cmd.Parameters.Add("@p3", SqlDbType.VarChar, 50)
  18. p3.Value = Me.FileUpload1.PostedFile.ContentType
  19. Dim p4 As SqlParameter = cmd.Parameters.Add("@p4", SqlDbType.VarBinary)
  20. p4.Value = Me.FileUpload1.FileBytes
  21. Dim p5 As SqlParameter = cmd.Parameters.Add("@p5", SqlDbType.DateTime)
  22. p5.Value = Now()
  23.  
  24. db.Open()
  25. cmd.ExecuteNonQuery()
  26. db.Close()
  27.  
  28. Me.TextBox1.Text = ""
  29.  
  30. End Sub
  31.  
  32. End Class

参考にさせていただいたページ



[Counter] Total: -
目安箱バナー