SQL サーバー データベースへの画像の挿入について読みましたが、コードを機能させることができませんでした。これが私の初期コードです。
public void InsertResults(string Id, Bitmap bitmap)
{
try
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand("INSERT INTO Results VALUES(@ResultID, @HasSucceeded, @ScenarioID, @Screenshot)", conn))
{
cmd.Parameters.AddWithValue("@ResultID", 0);
cmd.Parameters.AddWithValue("@HasSucceeded", 0);
cmd.Parameters.AddWithValue("@ScenarioID", Id);
cmd.Parameters.AddWithValue("@Screenshot", bitmap);
cmd.ExecuteNonQuery();
}
}
}
catch (SqlException ex)
{
//Log exception
}
}
上記で試みたように、ビットマップ画像を挿入することはできないことを私は知っています。ビットマップを挿入できるものに変換するにはどうすればよいですか?
以下のような SQL を使用する必要があることは知っていますが、それをコードに統合する方法がわかりません。
INSERT INTO DatabaseImageTable ([image name], [image])
SELECT 'SQL Server Image', *
FROM OPENROWSET(BULK N'C:\images\sql-server-image-file.jpg', SINGLE_BLOB) image;