私のプロジェクトの1つに、私のpictureboxstupicに画像が含まれている場合にbyte []を返す次のようなメソッドがあります。pictureboxstupic に画像がない場合は string = "NULL" を返すように変換したいのですが、それ以外の場合は bute[] を返す必要があります。どうやってやるの??
private byte[] GetPic()
{
using (var stream = new MemoryStream())
{
var bmp = new Bitmap(pictureboxstupic.Image);
bmp.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
stream.Position = 0;
var data = new byte[stream.Length];
stream.Read(data, 0, data.Length);
return data;
}
}
注:画像を挿入している列は次のとおりです
CREATE TABLE [dbo].[Students]
([Photo] [image] NULL)
そして、私の現在の状態では、上記の列、つまりStudents.Photoのような画像に画像を挿入しています
if (pictureboxstupic.Image == null)
{
cmd.Parameters.Add("@Photo", SqlDbType.VarChar).Value = "NULL";
}
else
{
cmd.Parameters.Add("@Photo", SqlDbType.Image).Value = GetPic();
}