Member 13904037 Ответов: 2

Как это исправить в mysql/C#


Это не работает, пожалуйста, помогите мне.

Я только хочу обновить текст, который совпадает с меткой 2.


  string constring = "datasource= xyz.xyz.xyz;port=3306;username=xyz;password=xyz";

string query = "update mysqlcshap.Fahrzeug WHERE Fahrzeug= "+label2.Text+"  set Status='1' ;";



            MySqlConnection Dateneingabe = new MySqlConnection(constring);
            MySqlCommand cmd = new MySqlCommand(query, Dateneingabe);
            MySqlDataReader myReader;


            try
            {
                Dateneingabe.Open();
                myReader = cmd.ExecuteReader();

                while (myReader.Read()) { }





            }




            catch (Exception ex)
            { }


Что я уже пробовал:

Google, Youtube, мне нужна ваша помощь ... .

Richard MacCutchan

Почему ты пытаешься открыть дверь? MySqlDataReader на команду "обновить"?

2 Ответов

Рейтинг:
2

Gustavo Ramirez

string query = "update mysqlcshap.Fahrzeug set Status='1' WHERE Fahrzeug= '"+label2.Text+"'  ;";


Member 13904037

Работает идеально. Огромное спасибо

Рейтинг:
0

Patrice T

Цитата:
Это не работает

Опишите, как это не работает. Сообщение об ошибке ?
Мы не можем запустить ваш код, так как у нас нет доступа к вашей базе данных.

string query = "update mysqlcshap.Fahrzeug WHERE Fahrzeug= "+label2.Text+"  set Status='1' ;";

Не решение вашего вопроса, а еще одна проблема, которая у вас есть.
Никогда не создавайте SQL-запрос путем объединения строк. Рано или поздно вы сделаете это с помощью пользовательских вводов, и это откроет дверь к уязвимости под названием "SQL-инъекция", она опасна для вашей базы данных и подвержена ошибкам.
Одна кавычка в имени - и ваша программа выйдет из строя. Если пользователь вводит имя, например "Брайан О'Коннер", может привести к сбою вашего приложения, это уязвимость SQL-инъекции, и сбой-это наименьшая из проблем, вредоносный пользовательский ввод, и он продвигается к командам SQL со всеми учетными данными.
SQL-инъекция - Википедия[^]
SQL-инъекция[^]
Атаки SQL-инъекций на примере[^]
PHP: SQL-инъекция - руководство пользователя[^]
Шпаргалка по предотвращению инъекций SQL - OWASP[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? - Обмен Стеками Информационной Безопасности[^]


Member 13904037

Если я начну это с нажатия кнопки, ничего не произойдет. Так что же мне делать?

Patrice T

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