gpt4 book ai didi

C# 从 DataGridView 插入 MySQL 数据后被截断

转载 作者:可可西里 更新时间:2023-11-01 11:23:41 25 4
gpt4 key购买 nike

我制作了一个小应用程序,它通过单击一个按钮自动将数据从 datagridview 插入到 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();
}

}

最佳答案

您想设置 SQL Mode MySQL 到 Traditional .这将启用 Strict SQL Mode ,当数据在插入或更新期间被截断时会引发错误。

正如其他人评论的那样,一种用户友好的方法是在用户尝试存储数据之前额外让他们了解限制。

关于C# 从 DataGridView 插入 MySQL 数据后被截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51158117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com