Очистить таблицу базы данных - PullRequest
0 голосов
/ 29 октября 2011

Я использую следующий код для очистки таблицы базы данных:

public void ClearAll()
{
    SqlCommand info = new SqlCommand();
    info.Connection = con;
    info.CommandType = CommandType.Text;
    info.CommandText = "edit_.Clear()";
}

Почему не работает?

Ответы [ 4 ]

4 голосов
/ 29 октября 2011

С помощью команды sql вы обычно передаете оператор TSQL для выполнения.Попробуйте что-нибудь еще,

SqlConnection con = new SqlConnection(ConfigurationSettings.AppSettings["con"]); 
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "DELETE FROM Edit_ ";
cmd.Connection = con; 
con.Open(); 
cmd.ExecuteNonQuery(); 
con.Close();
1 голос
/ 29 октября 2011

Попробуйте info.CommandText='DELETE FROM edit_';

Атрибут CommandText - это оператор (ы) TSQL, которые выполняются.

Вам также необходимо info.ExecuteNonQuery();

1 голос
/ 29 октября 2011

Вам необходимо выполнить команду, поэтому info.Execute () или info.ExecuteNonQuery ().

0 голосов
/ 29 октября 2011

1) Решите, использовать оператор TRUNCATE или DELETE

Используйте TRUNCATE для сброса таблицы со всеми ее записями и индексами:

using (SqlCommand command = connection.CreateCommand())
{
    command.CommandType = CommandType.Text;
    command.CommandText = "TRUNCATE TABLE [dbo].[Edit_]";
    command.ExecuteNonQuery();
}

Используйте DELETE для удаления всех записей, ноне сбрасывать идентификаторы / столбцы с автоприращением

using (SqlCommand command = connection.CreateCommand())
{
    command.CommandType = CommandType.Text;
    command.CommandText = "DELETE FROM [dbo].[Edit_]";
    command.ExecuteNonQuery();
}

Обратите внимание, что в примерах есть еще одна строка.В предоставленном вами примере оператор SQL никогда не выполняется, пока вы не вызовете один из методов ExecuteXXX (), таких как ExecuteNonQuery ().

2) Убедитесь, что вы используете правильный объект (вы уверены, что он вызван edit_?).Я рекомендую поместить схему перед именем таблицы, как в предыдущих примерах.

3) Убедитесь, что вы используете правильную строку подключения.Может быть, все нормально работало в производственной среде; -)

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