私のアプリケーションは、画像データをデータベースに保存し、フォームに情報をロードするときに画像をパネルに読み込みます。これはうまくいきます。しかし、ユーザーが画像を保存したくない場合は、データベースの画像フィールド(varbinary)に '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をロードすることができます。
どうすればこの問題を解決できますか教えてください。
あなたはNULLを格納することは、適切なオプションであると思いませんか? –
この場合、「ここにはデータがありません」と言っているので適切です – msigman
このデータベーステーブルには10の列があります。 –