画像の保存は画像のをバイナリに変換して、それをSQL ServerにINSERT構文でできるのでしょうか?
調べてみたのですがVBのソースだったのであまりわかりませんでした。。。
DBのテーブル[Test]のカラムはvarbinary(MAX)型です。
C#
1 FileStream stream = new FileStream(@"D://a.gif", FileMode.Open, FileAccess.Read); 2 BinaryReader reader = new BinaryReader(stream); 3 byte[] photo = reader.ReadBytes((int)stream.Length); 4 5 //省略 6 7 cmd.CommandText = "INSERT INTO [dbo].[Test] VALUES('" + photo + "')"; 8 rd = cmd.ExecuteReader();
こうすると rd = cmd.ExecuteReader();でエラーが発生します。
型が合っていないそうで、varcharからvarbinary(max)への変換ができませんとの事です。
なぜvarcharになってるのでしょうか?
やり方を教えていただけると幸いです。
よろしくお願いいたします。
コードがめちゃくちゃという感じがしますが。まずはクエリを見直しましょう。また、前にも何回かアドバイスしましたがクエリは必ずパラメータ化しましょう。