Как исправить синтаксическую ошибку в первой строке?
У меня есть синтаксическая ошибка MySQL в 1. Линия.
Для этого изменяются сервер и имя пользователя.
Вот этот код
private void button2_Click(object sender, EventArgs e) { string constring = "datasource = 123.456.789 ;port = 3306;username = xxx;password = xxx"; string query = "INSERT INTO mysqlcshap.Leitstelle(Auftragsnummer,Objekt,Etage/Station,Straße,HNR) VALUES('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "');"; MySqlConnection Dateneingabe =new MySqlConnection(constring); MySqlCommand cmd = new MySqlCommand(query, Dateneingabe); MySqlDataReader myReader; try { Dateneingabe.Open(); myReader = cmd.ExecuteReader(); MessageBox.Show("Einsatz angelegt!"); while (myReader.Read()) { } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
Что я уже пробовал:
Я пытался изменить его с сервера на источник данных.
Kornfeld Eliyahu Peter
Эта строка: string constring = "datasource = 123.456.789 ;port = 3306;username = xxx;password = xxx"; ?
В нем нет синтаксической ошибки? Вы можете использовать другое значение, содержащее специальный символ, например обратную косую черту, кавычку или двойную кавычку?
F-ES Sitecore
Это означает строку 1 вашего SQL, а не строку 1 кода. Посмотрите на sql, который вы выполняете (фактический SQL, использующий отладчик, а не код), и посмотрите, сможете ли вы обнаружить проблему. Это могут быть имена столбцов, есть ли у вас на самом деле имя столбца под названием "Etage/Station"? Попробуйте заключить имена столбцов в квадратные скобки
NSERT в mysqlcshap.Leitstelle([Auftragsnummer],[объект],[й этаж/станция],[Улица],[ХНР])
Если это действительно ваше имя столбца, то подумайте о том, чтобы использовать те, которые содержат только основные буквы, без пробелов или других забавных символов.
Использование параметризованных запросов устранит дальнейшие потенциальные проблемы, а также защитит вас от атак SQL-инъекций.