画像処理用のビジュアル C# プログラムに取り組んでいます。Visual C# (Windows フォーム) と ADO.NET を使用して、SQL データベースに画像を追加しようとしています。
filestream メソッドを使用して画像をバイナリ形式に変換しましたが、画像のバイトがデータベースに保存されません。データベース イメージの列に < バイナリ データ > と表示されていて、データが保存されていません。
私は(ストアドプロシージャの有無にかかわらず)挿入するための多くの方法を試しましたが、データベースで常に同じことを取得しています。
private void button6_Click(object sender, EventArgs e)
{
try
{
byte[] image = null;
pictureBox2.ImageLocation = textBox1.Text;
string filepath = textBox1.Text;
FileStream fs = new FileStream(filepath, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
image = br.ReadBytes((int)fs.Length);
string sql = " INSERT INTO ImageTable(Image) VALUES(@Imgg)";
if (con.State != ConnectionState.Open)
con.Open();
SqlCommand cmd = new SqlCommand(sql, con);
cmd.Parameters.Add(new SqlParameter("@Imgg", image));
int x= cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show(x.ToString() + "Image saved");
}
}
コードでエラーが発生していません。画像が変換され、データベースでエントリが行われますが、SQL データベースで < Binary Data > と表示されます。