删除表中的特定条目

时间:2010-09-01 13:56:19

标签: c# sql database

在我的表中,我有很多行数据。 一行有七列值。

是否可以从一行中删除两列的值并休息五次而不进行更改?

我可以使用SQL删除吗?

   cmd.CommandText = @"DELETE ImageData,"
                     + " ContentType,  "
                     + " FROM Users "
                     + " WHERE UserName = @UserName";

    cmd.Parameters.Add(new SqlParameter("@UserName", username));
    cmd.Parameters.Add(new SqlParameter("@ImageData", ImageData));
    cmd.Parameters.Add(new SqlParameter("@ContentType", ContentType));

在我的代码中,我不能这样删除,是不是错了? 有谁知道如何删除它们?

3 个答案:

答案 0 :(得分:2)

我认为你不是DELETE而是UPDATE

  • DELETE始终删除整行。
  • UPDATE允许您更改一行中的各个列。

<强> codefragment

@"UPDATE Users "
  + "SET ContentType = NULL, "
  + "    ImageData = NULL "
  + "WHERE Username = @UserName";

答案 1 :(得分:1)

您需要使用UPDATE语句。 DELETE仅用于一次删除整行。

你实际上不能“删除”它们,就好像它是电子表格中的单元格一样。假设列可以为空,您可以将它们设置为NULL,如下所示。

cmd.CommandText = @"UPDATE ImageData
                    SET ContentType = NULL, Users = NULL
                    WHERE UserName = @UserName";

            cmd.Parameters.Add(new SqlParameter("@UserName", username));

答案 2 :(得分:1)

你可以更新一行:

UPDATE Users
SET ImageData = NULL, ContentType = NULL
WHERE UserName = @UserName