2014-02-15 5 views
-3

я хочу, чтобы удалить данные в моей базе данных, и с помощью этого кода, но его сейчас работаетКак удалить данные на Sql Server 2012 с помощью C#?

private static void DeletePreviousRecord() 
{ 
    string connectionString = "Data Source=ABDULLAH\\ABDULLAHZAFAR;Initial Catalog=FoodHunt;Integrated Security=True"; 
    using (SqlConnection con = new SqlConnection(connectionString)) 
    { 
     using (SqlCommand cmd = new SqlCommand("Delete From RestaurantsMenu", con)) 
     { 
      try 
      { 
       cmd.CommandType = CommandType.StoredProcedure; 
       con.Open(); 
       var result = cmd.ExecuteNonQuery(); 
       con.Close(); 
      } 
      catch (Exception ex) 
      { } 
     } 
    } 
} 

я попытался это, но это не работает, как я могу это сделать, любое предложение?

+4

«не работает», и вы глотать каких-либо исключений, которые могли бы сказать вам, что на самом деле происходит не так ... здорово! – ThiefMaster

ответ

4

Установка CommandType на StoredProcedure, когда вы явно используете текст sql, напрямую не можете делать ничего хорошего в вашем коде.

Удалить эту линию, так как по умолчанию CommandType.Text (и это правильно для вашей команды)

Но как указано в комментарии выше.

  • Если вы ловите исключение, по крайней мере, написать в каком-то журнале или дисплее на видео, что сообщение об ошибке
  • Если вы не добавить ИНЕК в вашем SQL заявлении, удаление
    все в таблице (Возможно, вам повезло, что этот код не работал)

Глядя на ваш комментарий ниже, если вы хотите удалить все записи (и сброс столбца идентификации, если таковой имеется) более быстрый подход

using (SqlCommand cmd = new SqlCommand("TRUNCATE TABLE RestaurantsMenu", con)) 

Для быстрого чтения о разнице между TRUNCATE и DELETE выглядят at this article

+0

спасибо за предложение, и я хочу удалить все мои предыдущие записи .. –

Смежные вопросы