C# 单击按钮后,如何在datagrid中使用选中的复选框传输数据?C和SQL Server

C# 单击按钮后,如何在datagrid中使用选中的复选框传输数据?C和SQL Server,c#,sql-server,winforms,checkbox,datagridview,C#,Sql Server,Winforms,Checkbox,Datagridview,我有两个表,即Pending.dbo和Approved.dbo。我使用了tabcontrol。第一个选项卡包含带有复选框和Btnaprove的挂起datagridview。名为Approved的第二个选项卡只是一个只读datagridview 我想要的是,当我单击Btnaprove时,Pending datagridview中复选框选中的数据将传输到表Approved.dbo 可能吗?到目前为止,这是我的代码: 语言:c 对不起,我的英语和解释不好。谢谢 应该这样做:- using (SqlCo

我有两个表,即Pending.dbo和Approved.dbo。我使用了tabcontrol。第一个选项卡包含带有复选框和Btnaprove的挂起datagridview。名为Approved的第二个选项卡只是一个只读datagridview

我想要的是,当我单击Btnaprove时,Pending datagridview中复选框选中的数据将传输到表Approved.dbo

可能吗?到目前为止,这是我的代码:

语言:c


对不起,我的英语和解释不好。谢谢

应该这样做:-

using (SqlConnection conn = new SqlConnection(ConnString))
{
    using (SqlCommand comm = new SqlCommand())
    {
        comm.Connection = conn;
        conn.Open();

        for(int i = 0; i < dataGridView1.Rows.Count; i++)
        {
            StrQuery = @"INSERT INTO tableName VALUES (" 
                + pendingdataGridView.Rows[i].Cells["ColumnName"].Value +", " 
                + pendingdataGridView.Rows[i].Cells["ColumnName"].Value +");";
            comm.CommandText = StrQuery;
            comm.ExecuteNonQuery();
        }
    }
}
selectCommand:用于从数据库检索值的查询

connectionString:您的数据库连接字符串


我想Paul只想转移在第一个tab中选择的行,tableName是第二个table,对吗?谢谢我现在就试试!你说得对,阿披实。单击按钮时,仅传输选定的行。表到表。Pending.dbo中的数据将被删除吗?@PaulEmmanuelAustria您到底需要什么。?这个问题你答对了。因此,请在单独的线程中详细询问您的下一个问题。这样将很容易帮助您。。!挂起的datagridview是否只包含一个复选框?您的意思是当选中此复选框时,datagridview的整个数据将传输到Approved.dbo表中吗?否。挂起的datagridview上的每一行都有自己的复选框。选中的复选框将被转移到Approved.dbo@阿披实
using (SqlConnection conn = new SqlConnection(ConnString))
{
    using (SqlCommand comm = new SqlCommand())
    {
        comm.Connection = conn;
        conn.Open();

        for(int i = 0; i < dataGridView1.Rows.Count; i++)
        {
            StrQuery = @"INSERT INTO tableName VALUES (" 
                + pendingdataGridView.Rows[i].Cells["ColumnName"].Value +", " 
                + pendingdataGridView.Rows[i].Cells["ColumnName"].Value +");";
            comm.CommandText = StrQuery;
            comm.ExecuteNonQuery();
        }
    }
}
for(int i = 0; i < pendingdataGridView.Rows.Count; i++)
{
    if(!pendingdataGridView.Rows.Selected[i])
        Continue;

    StrQuery= @"INSERT INTO tableName VALUES (" 
                + pendingdataGridView.Rows[i].Cells["ColumnName"].Value +", " 
                + pendingdataGridView.Rows[i].Cells["ColumnName"].Value +");";
    comm.CommandText = StrQuery;
    comm.ExecuteNonQuery();
}
SqlDataAdapter dataAdapter = new SqlDataAdapter(selectCommand, connectionString);

SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter);

// Populate a new data table and bind it to the BindingSource.
DataTable table = new DataTable();
dataAdapter.Fill(table);
Approvedgridview.DataSource = table;