C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: PictureBoxの画像を、テーブルへInsert


(過去ログ 79 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■46669 / inTopicNo.1)  PictureBoxの画像を、テーブルへInsert
  
□投稿者/ JIN (1回)-(2010/02/08(Mon) 18:05:06)

分類:[VB.NET/VB2005 以降] 

お世話になります。

PictureBoxに表示された画像を
BLOB型のテーブル項目にInsertしたいのですが、

以下のソースをご覧ください。
  Private Sub S_Ins_Pic()
        Dim lsSql As String = ""

        Try
            Dim pBlob As OracleParameter

            '' 画像格納先のPATHを指定
            Dim lfs As New System.IO.FileStream("C:\TEMP\PICTURE.jpg", IO.FileMode.Open, IO.FileAccess.Read)

            Dim fileSize As Integer = CInt(lfs.Length)
            Dim blobData(fileSize - 1) As Byte

            lfs.Read(blobData, 0, lfs.Length)
            
            '' SQL文作成
            lsSql = ""
            lsSql = lsSql & " INSERT INTO T_IMAGE"
            lsSql = lsSql & " VALUES"
            lsSql = lsSql & " ("
            lsSql = lsSql & "   :blobData"
            lsSql = lsSql & "  ,sysdate"
            lsSql = lsSql & " )"

            '' テーブルへInsert開始
            Dim cmd As New OracleCommand(lsSql, MyBase.poMdiForm.moDBCon.moDbCon)

            '' BLOB型の変数バインド
            pBlob = cmd.Parameters.Add("blobdata", OracleDbType.Blob)

            pBlob.Value = blobData

            '' SQL実行
            cmd.ExecuteNonQuery()

        Catch ex As Exception
            Throw ex
        End Try
    End Sub

上記は画像ファイルのPathを指定して、BLOB型であることを指定してInsertしているのですが、
はじめにPathを指定する部分の処理を、
PictureBoxの画像を指定するようにしたいのですが、
どうしてもその書き方がわかりませんでした。

どなたか、わかる方いらっしゃましたら
教えてくださりませんでしょうか?

目的としては、
画像ファイルを縮小して、PictureBoxに表示させ、
その縮小させた画像(PictureBoxの画像)をInsertさせたいのです。

表示させたらそのままInsertさせたいので、
フォルダに一時的に保存するというのもやりたくないのです。

大変申し訳ないのですが、
ご教授ください。 よろしくお願いします。

引用返信 編集キー/
■46670 / inTopicNo.2)  Re[1]: PictureBoxの画像を、テーブルへInsert
□投稿者/ Jitta on the way (547回)-(2010/02/08(Mon) 18:20:37)
No46669 (JIN さん) に返信

ファイルを“読み込んで、byte 配列に展開して”、byte 配列をデータベースに格納していますよね。
同じようにすればいいです。
もしかしたら、MemoryStream を使わなければならないかもしれません。
引用返信 編集キー/
■46672 / inTopicNo.3)  Re[1]: PictureBoxの画像を、テーブルへInsert
□投稿者/ 渋木宏明(ひどり) (1274回)-(2010/02/08(Mon) 20:32:58)
渋木宏明(ひどり) さんの Web サイト
> 目的としては、
> 画像ファイルを縮小して、PictureBoxに表示させ、
> その縮小させた画像(PictureBoxの画像)をInsertさせたいのです。

縮小表示は PictureBox 任せですか?

であるなら、保存用の「縮小した画像」は自分で作らなくてはなりません。

> 表示させたらそのままInsertさせたいので、
> フォルダに一時的に保存するというのもやりたくないのです。

既にコメントがついていますが、MemoryStream を経由すればよろしんじゃないでしょうか。

引用返信 編集キー/
■46679 / inTopicNo.4)  Re[2]: PictureBoxの画像を、テーブルへInsert
□投稿者/ JIN (2回)-(2010/02/09(Tue) 09:28:49)
No46672 (渋木宏明(ひどり) さん) に返信
皆さん、
回答ありがとうございます。

いろいろなサイトを見て、調べてみたつもりでしたが、
MemoryStreamを今回初めて知ることが出来ました。

最悪、フォルダに保存してからと考えていましたが、

この方法で実装したいと思います。
ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -