C# 如何删除数据库中以varbinary格式存储的图像

C# 如何删除数据库中以varbinary格式存储的图像,c#,winforms,C#,Winforms,我有一个带有图像和删除按钮的图片盒。图像以varbinary(MAX)格式存储在数据库中。当按下删除按钮时,如何删除它 我正在使用以下代码将图像保存到数据库中: byte[] data; using (System.IO.MemoryStream stream = new System.IO.MemoryStream()) { conn.Open(); Image img = pictureBox1.Image; img.Save(stream, System.Dra

我有一个带有图像和删除按钮的
图片盒。图像以
varbinary(MAX)
格式存储在数据库中。当按下删除按钮时,如何删除它

我正在使用以下代码将图像保存到数据库中:

byte[] data;

using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
    conn.Open();

    Image img = pictureBox1.Image;
    img.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
    data = stream.ToArray();

    cmd.CommandText = "insert into images values(@images)";

    cmd.Parameters.AddWithValue("@images", data);

    int res = cmd.ExecuteNonQuery();
    MessageBox.Show("success");
}

我不明白为什么下面的方法行不通

cmd.CommandText=“从ID=x的图像中删除”

发送这样的纯SQL变得相当过时,当使用UI不正确时可能会降低正确性,您应该强烈地考虑使用LINQ


我不明白为什么下面的方法行不通

cmd.CommandText=“从ID=x的图像中删除”

发送这样的纯SQL变得相当过时,当使用UI不正确时可能会降低正确性,您应该强烈地考虑使用LINQ


如果该表中没有其他字段,您将很难删除图像-即使是二进制匹配,您也可以确保删除一个(或全部)这样的图像(a.o.t.一个特殊实例)您是否有一个表,其中有一行用于图像?如何确定是否应从数据库加载图像(即,图像是否存在)?这应该是关键。根据您在这里所说的,简单的答案是声明
deleteofromages
。是的!我有一个在数据库中有一个格式的图像行!但我该如何提出质疑呢?我的意思是“从图像中删除,其中?=wat”?如果该表中没有其他字段,您将很难删除该图像-即使是二进制匹配,您也可以确保删除一个(或全部)此类图像(a.o.t.一个特殊实例)您是否有一个表,其中有一行用于该图像?如何确定是否应从数据库加载图像(即,图像是否存在)?这应该是关键。根据您在这里所说的,简单的答案是声明
deleteofromages
。是的!我有一个在数据库中有一个格式的图像行!但我该如何提出质疑呢?我的意思是“从图像中删除,其中?=wat”??