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

                    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();

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

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

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

1 ответ

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

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();

   }
Другие вопросы по тегам