private void button4_Click(object sender, EventArgs e)
        {
            MySqlConnection connection = new MySqlConnection("datasource=localhost;port=3306;Initial Catalog='liblib';Data Source=localhost;username=root;password=admin");

            String query = "UPDATE loans SET dataRet=@data1 WHERE loans.idloans = @idloan";
            MySqlCommand cmd = new MySqlCommand(query, connection);

            int id = Int32.Parse(textBox9.Text);


                cmd.Parameters.Add("@data1", MySqlDbType.Date).Value = dateTimePicker1.Value;
                cmd.Parameters.Add("@idloan", MySqlDbType.Int32).Value = id;



                connection.Open();

                if (cmd.ExecuteNonQuery() == 1)
                {

                    MessageBox.Show("Succesful!");


                    connection.Close();

                    FIllCard();


                }


            else
            {

                MessageBox.Show("Error");
                connection.Close();
            }

Когда я выполняю этот запрос UPDATE в phpmyadmin, он работает и обновляет запись:

ОБНОВИТЬ кредиты НАБОР dataRet = '2017-5-6' ГДЕ кредиты.idloans = 23.

Но проблема в том, что я пробую его в своей форме с параметрами. Он всегда возвращает мне сообщение «Ошибка» (ExecuteNonQuery отличается от 1), и когда я проверяю базу данных, обновлений нет. Типы переменных в моей базе данных: idloans - int; dataRet = дата;

0
Freak0345 2 Май 2018 в 11:15

1 ответ

Лучший ответ

Ознакомьтесь с этим сообщением: обновите таблицу mySQL с помощью C #, это действительно нет ответа, помеченного как решение, но OP этого вопроса имеет проблемы с аутентификацией после использования кода первого ответа, возможно, это сработает для вас

0
H.J. Meijer 2 Май 2018 в 08:23