C # После вставки из DataGridView в MySQL данные усекаются - PullRequest
0 голосов
/ 03 июля 2018

Я сделал небольшое приложение, которое автоматически вставляет данные из таблицы данных в таблицу MySQL, нажав кнопку. Моя проблема заключается в том, что после вставки в таблицу MySQL некоторые данные просто усекаются, поскольку в них содержится больше строк, чем позволяет таблица. Это происходит без моего ведома, и я ищу решение. Простое увеличение количества строк в MySQL не является решением. В конце должны быть сохранены только те записи данных, которые действительно не были сокращены автоматически. Спасибо

вот мой код:

 private void button2_Click(object sender, EventArgs e)
    {
        for (int i = 0  ; i < dataGridView1.Rows.Count - 1; i++) // dòng
        {
                    string str = "server=xxxx; database=xxxx; uid=xxxx; pwd=xxxxxx;";
                    MySqlConnection constr = new MySqlConnection(str);
                    constr.Open();
                    String cmdText = "INSERT  INTO table (spalte1, spalte2, spalte3) VALUES ('"
                                               + dataGridView1.Rows[i].Cells[0].Value + "','"
                                               + dataGridView1.Rows[i].Cells[1].Value + "','"
                                               + Convert.ToDateTime(dataGridView1.Rows[i].Cells[2].Value).ToString("yyyy-MM-dd HH:mm:ss.fff") + "','"
                                               + dataGridView1.Rows[i].Cells[3].Value + "')";
                    MySqlCommand cmd = new MySqlCommand(cmdText, constr);
                    cmd.ExecuteNonQuery();
            constr.Close();
        }

    }

1 Ответ

0 голосов
/ 03 июля 2018

Вы хотите установить Режим SQL MySQL на Традиционный . Это включит Строгий режим SQL , что вызовет ошибку при усечении данных во время вставки или обновления.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...