私のフォームにDataGridViewコントロールがあり、最後の列の種類はimageです。DataGridView - C#からDBに画像を保存するには?
DataGridViewでイメージを選択してDBに保存する方法を教えてください。
ありがとうございます。
私のフォームにDataGridViewコントロールがあり、最後の列の種類はimageです。DataGridView - C#からDBに画像を保存するには?
DataGridViewでイメージを選択してDBに保存する方法を教えてください。
ありがとうございます。
イメージ自体をファイルシステムのDB btに保存しないでください。また、tue DBにイメージ名のみを保存してください。これは、データをDBブロブに入れるよりも良い選択肢です。
種類がBLOB
( "Binary Large OBject")のフィールドを使用すると、任意のファイルをSQL Serverデータベースに格納できます。このタイプの列をテーブルに作成し、おそらくストアドプロシージャを使用して、ハードドライブ上のファイルを参照してファイルデータをロードすることができます。
BLOBSの使用に関する記事が多数あります。ここでは見栄えの良いチュートリアルです:Part one、part two。あなたはが何をすべきかどうか、これは全く別の問題である
INSERT INTO BLOBTest
(BLOBName, BLOBData)
SELECT 'First test file',
BulkColumn FROM OPENROWSET(
Bulk 'C:\temp\nextup.jpg', SINGLE_BLOB) AS BLOB
:ここ
は、特に、ファイルからBLOB値を追加してその記事からいくつかのサンプルコードです。
なぜこれは良い選択ですか? –
ファイルシステムはファイルを保存するように設計されているため、バイトを変換したり、ブロブに戻したりせずに直接アクセスすることができます。 Webアプリケーションを扱っていて、あなたのDBとWebサーバが別々のマシン上で動いているならば、あなたのイメージはDB machinからネットワーク経由でwebサーバに渡って提供されなければなりません。無駄なトラフィック。小さな画像しか持っていないのであれば、DBに入れてください。プロとコントラにはさまざまな議論があります。 – Krumelur