如何将datagridview修改的数据保存到数据库并提示保存成功,否则保存失败
时间: 2023-12-20 12:04:33 浏览: 537
要将datagridview修改的数据保存到数据库并提示保存成功或失败,可以按照以下步骤进行操作:
1. 在datagridview中编辑或添加数据后,将数据写入数据库:
```csharp
// 获取datagridview的数据源
DataTable dt = (DataTable)dataGridView.DataSource;
// 遍历datagridview的每一行
foreach (DataRow dr in dt.Rows)
{
// 判断当前行是否被修改
if (dr.RowState == DataRowState.Modified)
{
// 更新数据库中的数据
// SQL语句示例:UPDATE TableName SET Column1=Value1, Column2=Value2 WHERE ID=1
string sql = "UPDATE TableName SET Column1='" + dr["Column1"].ToString() + "', Column2='" + dr["Column2"].ToString() + "' WHERE ID=" + dr["ID"].ToString();
SqlCommand cmd = new SqlCommand(sql, connection);
cmd.ExecuteNonQuery();
}
else if (dr.RowState == DataRowState.Added)
{
// 插入新数据到数据库中
// SQL语句示例:INSERT INTO TableName (Column1, Column2) VALUES (Value1, Value2)
string sql = "INSERT INTO TableName (Column1, Column2) VALUES ('" + dr["Column1"].ToString() + "', '" + dr["Column2"].ToString() + "')";
SqlCommand cmd = new SqlCommand(sql, connection);
cmd.ExecuteNonQuery();
}
}
// 提交事务
transaction.Commit();
// 关闭数据库连接
connection.Close();
```
2. 在try-catch块中捕获异常,并提示保存成功或失败:
```csharp
try
{
// 打开数据库连接
connection.Open();
// 开始事务
transaction = connection.BeginTransaction();
// 将datagridview中的数据写入数据库
SaveDataToDatabase();
// 提交事务
transaction.Commit();
// 关闭数据库连接
connection.Close();
// 提示保存成功
MessageBox.Show("保存成功!");
}
catch (Exception ex)
{
// 回滚事务
transaction.Rollback();
// 关闭数据库连接
connection.Close();
// 提示保存失败
MessageBox.Show("保存失败:" + ex.Message);
}
```
这样就可以将datagridview中的修改或添加操作保存到数据库,并根据保存结果提示用户。
阅读全文