.直接在datagridview里面修改数据后用mysql语句保存到数据库 2.为什么保存数据后,数据库里没有 3.主键可以修改后保存吗
时间: 2024-05-04 17:18:50 浏览: 105
1. 在 DataGridView 中修改数据后,您可以使用以下代码将更改保存到 MySQL 数据库中:
```csharp
using MySql.Data.MySqlClient;
// 创建连接
string connString = "Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;";
using MySqlConnection conn = new MySqlConnection(connString);
// 打开连接
conn.Open();
// 遍历 DataGridView 中的每一行
foreach (DataGridViewRow row in dataGridView1.Rows)
{
// 获取行的 ID 和 Name 列的值
int id = Convert.ToInt32(row.Cells["ID"].Value);
string name = row.Cells["Name"].Value.ToString();
// 构建 SQL UPDATE 语句
string sql = $"UPDATE myTable SET Name='{name}' WHERE ID={id}";
// 执行 SQL 语句
using MySqlCommand cmd = new MySqlCommand(sql, conn);
cmd.ExecuteNonQuery();
}
// 关闭连接
conn.Close();
```
2. 如果保存数据后数据库中没有更新,可能是代码中存在错误,导致 SQL 语句没有正确执行。您可以使用调试器逐步执行代码,查看是否出现异常或错误。如果没有错误,您可以尝试在 MySQL 中手动运行相同的 SQL 语句,以确定是否可以正确更新数据库。
3. 主键是用来唯一标识表中的每一行数据的,因此不应该修改主键的值。如果您需要更改某一行的主键值,最好的方法是先删除该行,然后插入一条新的数据,新的数据包含新的主键值和其他列的值。
阅读全文