dbで画像を取得する際に私のコードに何が問題なのか分かりません。画像パスファイルを使用せずに画像を挿入すると、画像がカムによって提供されます。db内のC#取得イメージ。無効なエラーパラメータを取得する
ここに私のコードはデシベル
Image img = pictureBox1.Image;
MemoryStream memStream = new MemoryStream();
img.Save(memStream, ImageFormat.Bmp);
byte[] imageBt = memStream.ToArray();
query = "";
query += "INSERT INTO table(picture) VALUES ('" + imageBt + "')";
cmd = new MySqlCommand(query, con);
cmd.ExecuteNonQuery();
con.close();
に画像を挿入してあります。ここに私のコードは、DB
query = "";
query += "SELECT picture FROM table WHERE id = '1'";
cmd = new MySqlCommand(query, con);
con.Open();
MemoryStream ms = new MemoryStream();
byte[] image = (byte[])cmd.ExecuteScalar();
ms.Write(image, 0, image.Length);
con.Close();
Bitmap bmp = new Bitmap(ms)
pictureBox1.Image = bmp; //Still get the Error here parameter is not valid
で画像を検索していたデータベースに画像を保存であっanywrongプロセスです。 Btw私の画像タイプはdbです。なぜ私はそれが常にエラーをスローしたイメージを取得することで動作しないのかわかりません。ありがとう
私もこれを試してみてくださいしかし、私はまた DR = cmd.ExecuteReader()は動作しません。 if(dr.Read()) { byte [] data =(byte [])dr ["picture"]; MemoryStream ms =新しいMemoryStream(データ)。 pictureBox1.Image = Image.FromStream(ms); } –
テキストを挿入しようとしているようです。 SQLインジェクションと書式設定の問題を回避するには、パラメータを使用します。 – LarsTech
SQLパラメータの使用をすぐに開始する必要があります。 – Plutonix