[英]How to transfer data with selected checkbox in datagrid after button click? C# and SQL Server
我有 2 个表,即Pending.dbo
和Approved.dbo
。 我用过tabcontrol。 第一个选项卡包含带有checkbox
和btnApprove
"Pending datagridview"
。 名为"Approved"
的第二个选项卡只是一个只读数据网格视图。
我想要的是,当我单击btnApprove
, "Pending datagridview"
checkbox
"Pending datagridview"
将传输到表Approved.dbo
。
是否可以? 截至目前,这是我的代码:
language: c#
private void btnApproved_Click(object sender, EventArgs e)
{
//List<DataGridViewRow> selectedRows = (from row in dataGridView1.Rows.Cast<DataGridViewRow>() where Convert.ToBoolean(row.Cells["checkBoxColumn"].Value) == true select row).ToList();
foreach (DataGridView row in dataGridView1.Rows)
{
using (var connect = sqlcon.getConnection())
{
using (SqlCommand cmd = new SqlCommand("COMMAND TO TRANSFER DATA??????"))
{
}
}
}
}
附注。 对不起,我的英语和解释不好。 谢谢!
应该这样做: -
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 循环部分替换为
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();
}
然后将值从数据库绑定到Approvedgridview
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;
selectCommand
:查询从数据库中检索值
connectionString
: 您的数据库连接字符串
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.