テーブルImagesをsql
含むデータベースがあり、そのテーブルには2 Columns
ID
(identity)、DisplayImage(image)があります。テーブルには、私が書いた最初の行に2つの行があります
insert into Image values(1,'Libraries\Pictures\Lotus.jpg')
と2行目は
INSERT INTO [dbo].[Image] ([Id],Images)
SELECT 2,
(select * FROM OPENROWSET(BULK 'C:\Users\Public\Pictures\Sample Pictures\Tulips.jpg', SINGLE_BLOB) AS BLOB)
画像を読み取るためのコードは次のとおりです
WebClient instanceHTTP = new WebClient();
Uri MyUri = new Uri("http://localhost:52293/WebSite/ImageHandler.ashx?ImageId=" + TextBox5.Text); //TextBox5.Text for id i.e 1 or 2
Stream returnValue;
returnValue = instanceHTTP.OpenRead(MyUri);
**System.Drawing.Image MyImage = System.Drawing.Image.FromStream(returnValue);**
// Error if id=1 used i.e normal insert
bytearray = imageToByteArray(MyImage);
MyImage.Dispose();
通常の挿入であるID1を使用すると、無効なParmeterというエラーが発生しますが、ID2を使用すると正しく実行されます。では、違いは何ですか?通常の挿入画像を実行するために必要な変更..BLOB
挿入ステートメントでASを使用したくない