2015-05-27 2 views
1

Как я могу обрезать таблицу с помощью C#.Как таблицы TRUNCATE с C#

Я делаю это, но он не работает.

cmd.CommandText = "TRUNCATE TABLE dalbara;"; 
cmd.ExecuteNonQuery(); 

Visual Studio дает мне эту ошибку:

Invalid SQL command, you only can do 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT' or 'UPDATE'

Я хочу удалить и перезапустить все мои таблицы доступа. С помощью команды DELETE значения автоинкремента не сбрасываются.

+2

Это вопрос с разрешением. Пользователь, с которым работает ваш код, не имеет разрешения в Db для TRUNCATE. – Kevin

+0

Как я могу активировать это разрешение? –

+0

Определите учетную запись пользователя, используемую в соединении db, и в db предоставите пользователю ALTER TABLE разрешение на таблицу, которую вы пытаетесь TRUNCATE. Если вы используете интегрированную WIndows Security, то пользователь должен использовать код, который нуждается в этом разрешении в таблице. – Kevin

ответ

2
MySqlConnection connection = new MySqlConnection(Server=localhost;Database=dbase;Uid=root;password=;)  
string query = "TRUNCATE TABLE " + yourTableName 
MySqlCommand cmd = new MySqlCommand(query, connection); 
cmd.ExecuteNonQuery(); 

Используйте этот код для усечения таблицы

0

В MySQL Go -> Главная -> Пользователи меню-> выберите пользователя в таблице -> Edit Privileges-> Check Все глобальные привилегии -> Go

Теперь выполните код усечения.

0
REVOKE ALL PRIVILEGES ON * . * FROM 'root'@'localhost'; 

GRANT ALL PRIVILEGES ON * . * TO 'root'@'localhost' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; 

Измените имя хоста и имя пользователя, выполните на своем сервере и запустите код truncate C#.