C#: Запись значения dateTimePicker в таблицу MySQL
-
16 апреля 2012 г. 9:59
Здравствуйте. Имеется таблица в БД MySQL - Contract (Num_contract, type_con, Date_from_con, Date_to_con, e staff_con;)
По нажатию на кнопку нужно обновить/записать данные в таблицу. Делаю так:
string Connect = "Database=HR;Data Source=localhost;User Id=root;Password=root;"; MySqlConnection connection = new MySqlConnection(Connect); string contract = "Select Num_contract, type_con, Date_from_con, Date_to_con from `hr`.`contract` where staff_con='" + input + "';"; MySqlDataAdapter con_da = new MySqlDataAdapter(contract, connection); DataTable con_dt = new DataTable(); con_da.Fill(con_dt); if (con_dt.Rows.Count == 0) { connection.Open(); MySqlCommand Add = new MySqlCommand("INSERT INTO `hr`.`contract` VALUES ('" + textBox3.Text + "','" + textBox4.Text + "','" + dateTimePicker1.Value.ToString("yyyy-MM-dd") + "','" + dateTimePicker2.Value.ToString("yyyy-MM-dd") + "','" + input + "');", connection); int UspeshnoeIzmenenie = Add.ExecuteNonQuery(); if (UspeshnoeIzmenenie != 0) { MessageBox.Show("Изменения внесены ", "Изменение записи"); } else { MessageBox.Show("Не удалось внести изменения ", " Изменение записи"); } connection.Close(); } else { connection.Open(); MySqlCommand myCommand = new MySqlCommand("UPDATE `hr`.`contract` SET Num_contract='" + textBox3.Text + "', type_con='" + textBox4.Text + "', Date_from_con'" + dateTimePicker1.Value.ToString("yyyy-MM-dd") + "', Date_to_con='" + dateTimePicker2.Value.ToString("yyyy-MM-dd") + "' where staff_con='" + input + "';", connection); int UspeshnoeIzmenenie = myCommand.ExecuteNonQuery(); if (UspeshnoeIzmenenie != 0) { MessageBox.Show("Изменения внесены ", "Изменение записи"); } else { MessageBox.Show("Не удалось внести изменения ", " Изменение записи"); } connection.Close(); }
Выдаёт ошибку: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''2013-03-02', Date_to_con='2005-02-20' where staff_con='33399'' at line 1
Не могу понять в чём дело. Прошу помощи...
Все ответы
-
16 апреля 2012 г. 10:35Модератор
Такая ошибка из-за некорректного синтаксиса SQl. Наверное тут
textBox3.Text + "', type_con='" + textBox4.Text + "', Date_from_con'"
пропустили знак равенства, рядом c Date_from_con.
- Изменено YatajgaModerator 16 апреля 2012 г. 10:36
- Помечено в качестве ответа vantur 16 апреля 2012 г. 10:59
-
16 апреля 2012 г. 10:56Модератор
Кроме исправлений от Yatajga - попробуйте передавать значения в команды как параметры, вместо сборки sql вручную. Это позволит избежать кучи ошибок в будущем.- Помечено в качестве ответа Abolmasov DmitryMicrosoft Community Contributor 16 апреля 2012 г. 11:44
-
16 апреля 2012 г. 11:00СПС. Нужно быть внимательней)))

