好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

教您用ASP.NET的CS开发中使用C#把在DataGridView所新增一条记录保存到数据库的方法

在C#中,要使用DataGridView新增一条记录并保存到数据库,你需要执行以下步骤:

1、确保你的DataGridView绑定到了一个数据源,如DataTable或BindingList。

2、当用户在DataGridView中填写数据时,新记录会自动出现在数据源中。

3、使用事件处理程序(如按钮点击事件)来保存数据源的更改到数据库。


以下是一个简单的示例代码,展示如何将DataGridView中的更改保存到SQL Server数据库:

private void SaveButton_Click(object sender, EventArgs e)

{

    // 假设你的DataGridView绑定到了名为dataTable的DataTable

    DataTable dataTable = (DataTable)dataGridView.DataSource;

 

    // 使用事务处理确保操作的原子性

    using (SqlConnection conn = new SqlConnection("你的连接字符串"))

    {

        conn.Open();

        SqlTransaction transaction = conn.BeginTransaction();

 

        try

        {

            // 遍历DataTable中的所有行

            foreach (DataRow row in dataTable.Rows)

            {

                if (row.RowState == DataRowState.Added || row.RowState == DataRowState.Modified)

                {

                    // 创建SQL INSERT或UPDATE语句

                    string sqlCommand = row.RowState == DataRowState.Added ?  GetInsertCommand(row) : GetUpdateCommand(row);

 

                    using (SqlCommand command = new SqlCommand(sqlCommand, conn, transaction))

                    {

                        // 执行SQL命令

                        command.ExecuteNonQuery();

                    }

                }

            }

             // 提交事务

            transaction.Commit();

        }

        catch (Exception ex)

        {

            // 出现异常时回滚事务

            transaction.Rollback();

            MessageBox.Show(ex.Message);

        }

    }

}

// 根据DataRow创建插入命令的辅助方法

private string GetInsertCommand(DataRow row)

{

    // 构建INSERT语句

    // 假设你的表名为YourTable,字段为Field1, Field2等

    return $"INSERT INTO YourTable (Field1, Field2) VALUES ('{row["Field1"]}', '{row["Field2"]}')";

}

// 根据DataRow创建更新命令的辅助方法

private string GetUpdateCommand(DataRow row)

{

    // 构建UPDATE语句

    // 假设你的表名为YourTable,主键字段为ID

    return $"UPDATE YourTable SET Field1 = '{row["Field1"]}', Field2 = '{row["Field2"]}' WHERE ID = {row["ID"]}";

}

请注意,你需要根据你的数据库表结构、字段类型和安全性需求修改上述代码。特别是,直接将用户输入拼接到SQL语句中可能会使你的应用程序容易受到SQL注入攻击,因此在实际应用中应使用参数化查询。


查看更多关于教您用ASP.NET的CS开发中使用C#把在DataGridView所新增一条记录保存到数据库的方法的详细内容...

  阅读:37次