私のアプリケーションは画像データをデータベースに保存し、情報をフォームにロードするときに、画像をパネルにロードします。これは正常に機能しています。しかし、ユーザーが画像を保存したくない場合に備えて、データベースの画像フィールド(バイナリ)に「0」を挿入しました。データベースからこの情報(0x00000000)をロードしている間、次の例外がスローされます。
パラメータが無効です。」
ここで私はいくつかのコードを与えています:
データベースに画像を保存する:
if(user has selected an image)
{
Byte[] imageBytes = File.ReadAllBytes(imagePatient);
sqlCommand.Parameters.AddWithValue("Img", imageBytes); //Img is database column for images
}
else
{
sqlCommand.Parameters.AddWithValue("Img", 0);
}
データベースからの画像の読み込み:
Byte[] imageData = new Byte[0];
imageData = (Byte[])(dataSet.Tables["Patients"].Rows[0]["Img"]);
MemoryStream stream = new MemoryStream(imageData);
panelImage.BackgroundImage = Image.FromStream(stream);
データがゼロ形式でない場合にのみ、BackgroundImageをロードできるようにするチェックを入れようとしました。
この問題を解決するにはどうすればよいですか?