удалить определенные записи в таблице - PullRequest
1 голос
/ 01 сентября 2010

В моей таблице много строк с данными.В одной строке есть семь столбцов со значениями.

Можно ли удалить из одной строки значения двух столбцов, а остальные пять оставить без изменений?

Можно ли с помощью 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 ]

2 голосов
/ 01 сентября 2010

Я предполагаю, что это не DELETE вам нужно, но ОБНОВЛЕНИЕ .

  • DELETE всегда удаляет всю строку.изменить отдельные столбцы в строке.

фрагмент кода

@"UPDATE Users "
  + "SET ContentType = NULL, "
  + "    ImageData = NULL "
  + "WHERE Username = @UserName";
1 голос
/ 01 сентября 2010

Вы можете обновить строку:

UPDATE Users
SET ImageData = NULL, ContentType = NULL
WHERE UserName = @UserName
1 голос
/ 01 сентября 2010

Для этого вам нужно использовать оператор UPDATE. DELETE только для удаления всей строки за раз.

Вы не можете «удалить» их, как если бы это были ячейки в электронной таблице. Предполагая, что столбцы обнуляются, вы можете установить их на NULL, как показано ниже.

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

            cmd.Parameters.Add(new SqlParameter("@UserName", username));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...