DOBON.NET DOBON.NETプログラミング掲示板過去ログ

SQL文を発行して、.mdbにオブジェクトを格納

環境/言語:[win xp, .NetFramework 1.1]
分類:[.NET]

お世話になります。

.Netだけでなく、SQLの件でもあるのですが...。

フォーム上のコントロール(PictureBox)に表示された画像を取り込んで、.mdbファイルに格納したいと考えています。
以下の2点について教えていただけないでしょうか?

1.PictureBoxでよいのでしょうか?また、他に方法はありますでしょうか?
RichTextBoxでは、文字列に加えて画像も貼れるようですが、リッチテキストの情報をそのまま取り込むことはできるのでしょうか?

2.SQL文でオブジェクトを格納する方法が分かりません。。。

基本的なことで、大変恐縮なのですが...。
どうかよろしくお願いいたします。
こんにちは中です。

まずはシリアライズでお勉強しましょう。
Picturebox.Imageを保存するようにしてください。

ただ、画像をmdbなんかに直接入れるんじゃなくって、ファイルに保存してファイル名だけmdbに入れるほうが絶対にいいですよ。

----------------------------------------------------
中博俊 (MSMVP Visual Studio C# Since 2004-)
http://blogs.users.gr.jp/naka/
naka@wankuma.com
VisualStudio2005のすべてのエディションにUnitTestを。投票募集中↓
http://lab.msdn.microsoft.com/ProductFeedback/viewFeedback.aspx?feedbackId=FDBK17344
お返事ありがとうございます。

> まずはシリアライズでお勉強しましょう。
> Picturebox.Imageを保存するようにしてください。

とりあえず、 Picturebox に呼び出した画像を Image.Save(FileName) という具合にして文字列として保存することはできました。
(って、何か勘違いしてますでしょうか...)

「ソフトウェア内部で扱っているデータを丸ごと、ファイルで保存したりネットワークで送受信することができるように変換すること。
 これとは逆に、ファイルに保存されているシリアライズされたデータや、ネットワークを通じて送られてきたシリアライズされたデータを、ソフトウェアで扱うことのできる元のデータ形式に復元することを「デシリアライズ」(deserialize)「デシリアライゼーション」(deserialization)という。」
と、 http://e-words.jp/w/E382B7E383AAE382A2E383A9E382A4E382BA.html にあったのですが...。
どうも、あまりピン、と来ていないようです。もし意図が違うようでしたら、改めてご指導ください。申し訳ありません。

それで、おっしゃるとおり、ファイル名だけ .mdb に入れて画像ファイルは別途保存ということにするつもりではいるのですが...。
いちおう両方の方法を比較してみたいと思っておりますので、どうか続けてご指導ください。
この段階から、どうすればよいのでしょうか...?

どうかよろしくお願いいたします。
まず、データベースで画像を扱う方法として、2通りの方法が話題に出ています。
1.データベースに画像を直接保存する
2.データベースにはパスだけ保存し、ファイルは別途保存する

シリアライズ/デシリアライズは1の方法で利用されるパターンです。
画像をシリアライズしてDBに保存し、読み出すときには逆にデシリアライズ
を行います。

2の方法では、
> とりあえず、 Picturebox に呼び出した画像を Image.Save(FileName)
> という具合にして文字列として保存することはできました。
のように画像を別ファイルとして保存し、DBへは上記の"FileName"だけを
保存します。
読み出すときは"FileName"から、直接ファイルを開くイメージになります。


#私もファイル名だけDBに保存する方法をおすすめします。
ありがとうございます。
おかげさまで、「2.データベースにはパスだけ保存し、ファイルは別途保存する」
にて、やりたいことはとりあえず実現しましたので、とりあえず、解決マークをつけます。

シリアライズについて興味はあるのですが...。
他に先に手がけたいこともありますし、みなさん「やめたほうがよい」ということなので(私の周りの何人かからもそう言われました...)、そのうち、ということにして、また別の機会に勉強させていただきたいと思います...。

この度はどうもありがとうございました。
どうか今後ともよろしくお願いいたします。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板