Member 9983063 Ответов: 3

Ребята у меня возникла проблема с моей базой данных


Привет ребята в настоящее время я столкнулся с проблемой и теперь не могу решить ее bcz я пробовал много способов решить эту проблему но я потерпел неудачу так что теперь я хочу получить вашу помощь так что пожалуйста дайте мне лучший ответ на этот вопрос
Эта проблема заключается в том, что когда я удаляю одно значение coloumn из базы данных, это удаляет все значения coloumn.пожалуйста, дайте мне решение, как я могу удалить одно значение столбца в ms accesss

if (textBox63.Text == "")
            {
                MessageBox.Show("Sorry! Data was Empty!Please Try Again","Report",MessageBoxButtons.OK,MessageBoxIcon.Error);
                return;
            }
            else
            {
                DialogResult dialogResult = form.ShowDialog();
                if (textBox.Text == "Black Emerald")
                {
                    connection.Open();
                    OleDbCommand command = new OleDbCommand();
                    command.Connection = connection;
                    command.CommandText = "Delete [Report] from Total";
                    command.ExecuteNonQuery();
                    connection.Close();
                }

                else
                {

                }


Спасибо
С уважением
М. Саджид.Лаха

Что я уже пробовал:

если (textBox63.Текст == "")
{
Ящик для сообщений.Шоу ("Извините! Данные были пусты!Пожалуйста, Попробуйте Еще Раз", "Отчет", MessageBoxButtons.Хорошо, MessageBoxIcon.Ошибка);
вернуть;
}
ещё
{
DialogResult dialogResult = форма.Метод showdialog();
если (текстовое поле.Текст = = " Черный Изумруд")
{
соединение.Открыть();
Команда oledbcommand объект = новый объект oledbcommand();
команда.Соединение = соединение;
команда.CommandText = " удалить [отчет] из итога";
команда.Метод executenonquery();
соединение.Закрывать();
}

ещё
{

}

3 Ответов

Рейтинг:
2

Patrice T

По принципу в базах данных вы удаляете строки, а не столбцы.
Если вы хотите 0 в столбце, вам нужно сохранить 0 в этом столбце, это обновление.

Думаю, что некоторое изучение SQL в порядке вещей.

[Обновление]

Цитата:
я не хочу удалять этот столбец я просто хочу удалить все значения этого столбца
Вы не можете удалить значения, вы хотите поместить / сохранить новое значение в этот столбец для каждой строки !
Используйте правильную формулировку, и вы найдете гораздо больше помощи в Google.


Member 9983063

хорошо пожалуйста скажите мне как удалить строки

Patrice T

Ты уже знаешь это.
Это то, что вы делаете по ошибке.
Прочитайте документацию SQL о "delete"

Dave Kreskowiak

Основное удаление в SQL-это:

DELETE FROM tableName [WHERE conditionExpression]

Рейтинг:
1

bling

Используйте ALTER TABLE, чтобы удалить столбец.

ALTER TABLE (Transact-SQL)[^]

Обратите внимание, что на самом деле вам не нужно удалять столбец. Было бы проще для вашего кода игнорировать столбец, когда он не нужен.


Afzaal Ahmad Zeeshan

Пожалуйста, прочтите комментарий ОП к моему сообщению решение 2.

[no name]

Теперь я не уверен, чего хочет ОП.
В любом случае...
1. мой ответ является избыточным и
2. ОП не принял ваш ответ.
Надеюсь, ОП либо примет ваш ответ,либо уточнит.

Рейтинг:
0

Afzaal Ahmad Zeeshan

Помимо того, что говорили другие, в случае, когда вам требуется удалить одну запись из базы данных, вы должны передать что-то для проверки; предпочтительным является первичный ключ Код, который вы используете, должен быть изменен на:

-- Assyming you wanted to delete the records where report is null. 
DELETE FROM Total WHERE [Report] IS NULL

Дейв дал вам представление об этом, SQL ожидает, что вы скажете, какие записи нужно удалить. В противном случае он просто удалит весь список записей. Если вы каким-то образом хотите удалить столбец, вы можете вместо этого изменить таблицу и удалить столбец (если это то, что предназначено). Эта команда была бы такой,
ALTER TABLE Total DROP COLUMN [Report]

Это приведет к удалению этой колонки.

Редактировать

Поскольку вы хотели удалить данные в этом столбце, вместо того чтобы делать что-либо, что я бы рекомендовал UPDATE- в полях. Вы можете сделать это в SQL, например так,
UPDATE Total SET [Report] = NULL

Это обновит (весь — это то, чего ты хочешь?) таблицу и установите для нее значение NULL. Если вы хотите установить одну или две записи в NULL, попробуйте передать туда предложение WHERE.


Member 9983063

я не хочу удалять этот столбец я просто хочу удалить все значения этого столбца

Afzaal Ahmad Zeeshan

Упустил этот твой момент. Пожалуйста, смотрите обновление.

0x01AA

+5

Afzaal Ahmad Zeeshan

Спасибо!