Intereting Posts
Выделение столбца базы данных и разделение для поиска другого результата таблицы Покрытый индекс, образованный составным индексом или индексом с включенными столбцами Могут ли транзакции транзакции схемы? Запрос, чтобы найти все ограничения FK и их правила удаления (SQL Server) Интерпретация типов кодов в sys.objects в SQL Server Как вы получаете всех предков узла с использованием иерархии SQL Server 2008? Как обновить данные одного столбца с использованием других табличных данных TSQL Три таблицы объединяются с объединениями, отличными от INNER JOIN Чтение значений из базы данных SQL в C # Печать сообщений времени выполнения в postgres Как использовать Eval () с именем столбца, которое содержит точку (.)? Как я могу случайным образом выполнить частичное внешнее соединение в SQL Существуют ли причины, по которым SQL Server допускает условия JOIN, которые вообще не зависят от объединенной таблицы? Подключение к базе данных SQL Server из PowerShell быстрый способ обновления столбца varchar с текстом

УДАЛИТЬ * ОТ таблицы

Есть ли способ (похожий на приведенный ниже код) удалить все строки в указанной таблице с помощью c #?

SqlConnection con = new SqlConnection(conString); con.Open(); string sql = @"DELETE*FROM compsTickers;"; SqlCommand cmd = new SqlCommand(sql, con); cmd.ExecuteNonQuery(); con.Close(); 

Прямо сейчас я получаю сообщение об ошибке:

Неправильный синтаксис рядом с '*'

Solutions Collecting From Web of "УДАЛИТЬ * ОТ таблицы"

В коде C # нет ничего плохого; это синтаксическая ошибка SQL.

Во всяком случае, нет необходимости в * . Вы удаляете строки , а не столбцы , из таблицы, поэтому вы не указываете удаляемые столбцы:

 DELETE FROM compsTickers 

Вы не указываете столбцы DELETE FROM compsTickers достаточно.

(Также TRUNCATE TABLE compsTickers будет делать, это другой способ удаления, который может иметь смысл в зависимости от настроек журнала транзакций)

Просто удалите * поскольку это не нужно для операторов DELETE

string sql = @"DELETE FROM compsTickers;";

DELETE (Transact-SQL) (ссылка)

FROM необязательно. Вы всегда удаляетесь из таблицы, так что все, что вам нужно было (вам даже не нужен разделитель инструкций для одного заявления):

 DELETE compsTickers 

Которая опустошает стол

  • но не сбрасывает столбец идентификатора, если он

Я предлагаю использовать

  1. Сохраненная процедура для выполнения всей операции.
  2. Вы всегда должны избегать строки с жестким кодом в коде.
  3. Управляйте транзакцией, если вам нужно вернуть изменения.

Запись «*» в запросе удаления не является хорошей практикой. Поскольку мы не удаляем столбцы, мы фактически удаляем строки из таблицы.

* Относится ко всем столбцам в таблице. Попробуйте использовать следующий синтаксис «Удалить из compsTickers», за которым следует условие.

Синтаксис команды delete неверен. Вы не обязаны использовать '*' в команде delete. Использовать командную string sql = @"DELETE FROM compsTickers;" для вашей работы.

Благодарю.

 string sql = @"DELETE FROM compsTickers;"; 

Вам не нужно использовать * или указать любое имя столбца в инструкции delete.

 SqlConnection con = new SqlConnection(conString); con.close(); cmd=new SqlCommand("DELETE FROM compsTickers", con); con.Open(); int i = cmd.ExecuteNonQuery(); if(i>0) { MessageBox.Show("Successful."); } con.Close(); . SqlConnection con = new SqlConnection(conString); con.close(); cmd=new SqlCommand("DELETE FROM compsTickers", con); con.Open(); int i = cmd.ExecuteNonQuery(); if(i>0) { MessageBox.Show("Successful."); } con.Close(); 

Ошибки могут возникнуть из-за отсутствия пробелов до и после «*» (должно быть «*»).