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

Есть ли способ (похожий на приведенный ниже код) удалить все строки в указанной таблице с помощью 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(); 

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