я хочу ограничить пользователя, чтобы сделать только команду выбора в MySQL, без удаления или обновления или вставки

0
                    MySqlConnection connection = new MySqlConnection(strConnection);
                    MySqlCommand command = connection.CreateCommand();

                    MySqlDataReader reader;
                    command.CommandText = pQuery;
                    connection.Open();
                    reader = command.ExecuteReader();
                    var dataTable = new DataTable();
                    dataTable.Load(reader);

                    connection.Close();

Я взял запрос из текстового поля, я не хочу, чтобы пользователь удалял или изменял данные в базе данных, используя текстовое поле

как ограничить команду только выбором команды

благодарю вас

  • 0
    Смотрите о пользовательских привилегиях в руководстве
Теги:

1 ответ

1

вы можете создать пользователя в своей базе данных, у которого есть только разрешение на выбор, и подключиться к базе данных с помощью этого пользователя. Или вы можете проверить ввод пользователя, если он содержит ключевое слово "удалить", используя метод "Содержит"

if( pQuery.ToUpper.Contains("DELETE") or pQuery.ToUpper.Contains("UPDATE"))
{
// do something
}
else{
                MySqlConnection connection = new MySqlConnection(strConnection);
                MySqlCommand command = connection.CreateCommand();

                MySqlDataReader reader;
                command.CommandText = pQuery;
                connection.Open();
                reader = command.ExecuteReader();
                var dataTable = new DataTable();
                dataTable.Load(reader);

                connection.Close();

   }
  • 0
    но если пользователь db Admin, он может удалить все записи, что мне нужно, это ограничение c #, чтобы выбрать только, и любой пользователь базы данных может только выбрать
  • 0
    Мне нужно сделать это из C # не из базы данных
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню