将数据从datagridview传输到数据库
Transfer data to database from datagridview
我在数据传输方面需要帮助。每当我尝试将数据从选定的 datagridview 行传输到数据库时,它不会传输选定的行,而是传输 datagridview 中的所有数据。
这是我目前拥有的代码:
private void btnTransfer_Click(object sender, EventArgs e)
{
if (con.State == ConnectionState.Open)
{
con.Close();
}
using (SqlCommand cmd = new SqlCommand("INSERT INTO tblTransfered(deptNo,date,issuedFrom,scheduleNo,pvNo,name,amount,typeOfPayment) VALUES (@C1,@C2,@C3,@C4,@C5,@C6,@C7,@C8)", con))
{
cmd.Parameters.Add(new SqlParameter("@C1", SqlDbType.VarChar));
cmd.Parameters.Add(new SqlParameter("@C2", SqlDbType.VarChar));
cmd.Parameters.Add(new SqlParameter("@C3", SqlDbType.VarChar));
cmd.Parameters.Add(new SqlParameter("@C4", SqlDbType.VarChar));
cmd.Parameters.Add(new SqlParameter("@C5", SqlDbType.VarChar));
cmd.Parameters.Add(new SqlParameter("@C6", SqlDbType.VarChar));
cmd.Parameters.Add(new SqlParameter("@C7", SqlDbType.VarChar));
cmd.Parameters.Add(new SqlParameter("@C8", SqlDbType.VarChar));
con.Open();
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (!row.IsNewRow)
{
cmd.Parameters["@C1"].Value = row.Cells[2].Value;
cmd.Parameters["@C2"].Value = row.Cells[0].Value;
cmd.Parameters["@C3"].Value = row.Cells[3].Value;
cmd.Parameters["@C4"].Value = row.Cells[4].Value;
cmd.Parameters["@C5"].Value = row.Cells[1].Value;
cmd.Parameters["@C6"].Value = row.Cells[5].Value;
cmd.Parameters["@C7"].Value = row.Cells[6].Value;
cmd.Parameters["@C8"].Value = row.Cells[7].Value;
cmd.ExecuteNonQuery();
}
}
MessageBox.Show("Files Transfered for Approval Successflly");
}
循环 SelectedRows
foreach (DataGridViewRow row in dataGridView1.SelectedRows)
如果您只想在 DataGridView
中插入选定的行,那么您应该在其上循环,请替换此
上的 foreach
行
foreach (DataGridViewRow row in dataGridView1.SelectedRows)
UPD
MSDN:
"The SelectionMode property must be set to FullRowSelect or RowHeaderSelect for the SelectedRows property to be populated with selected rows."
我在数据传输方面需要帮助。每当我尝试将数据从选定的 datagridview 行传输到数据库时,它不会传输选定的行,而是传输 datagridview 中的所有数据。
这是我目前拥有的代码:
private void btnTransfer_Click(object sender, EventArgs e)
{
if (con.State == ConnectionState.Open)
{
con.Close();
}
using (SqlCommand cmd = new SqlCommand("INSERT INTO tblTransfered(deptNo,date,issuedFrom,scheduleNo,pvNo,name,amount,typeOfPayment) VALUES (@C1,@C2,@C3,@C4,@C5,@C6,@C7,@C8)", con))
{
cmd.Parameters.Add(new SqlParameter("@C1", SqlDbType.VarChar));
cmd.Parameters.Add(new SqlParameter("@C2", SqlDbType.VarChar));
cmd.Parameters.Add(new SqlParameter("@C3", SqlDbType.VarChar));
cmd.Parameters.Add(new SqlParameter("@C4", SqlDbType.VarChar));
cmd.Parameters.Add(new SqlParameter("@C5", SqlDbType.VarChar));
cmd.Parameters.Add(new SqlParameter("@C6", SqlDbType.VarChar));
cmd.Parameters.Add(new SqlParameter("@C7", SqlDbType.VarChar));
cmd.Parameters.Add(new SqlParameter("@C8", SqlDbType.VarChar));
con.Open();
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (!row.IsNewRow)
{
cmd.Parameters["@C1"].Value = row.Cells[2].Value;
cmd.Parameters["@C2"].Value = row.Cells[0].Value;
cmd.Parameters["@C3"].Value = row.Cells[3].Value;
cmd.Parameters["@C4"].Value = row.Cells[4].Value;
cmd.Parameters["@C5"].Value = row.Cells[1].Value;
cmd.Parameters["@C6"].Value = row.Cells[5].Value;
cmd.Parameters["@C7"].Value = row.Cells[6].Value;
cmd.Parameters["@C8"].Value = row.Cells[7].Value;
cmd.ExecuteNonQuery();
}
}
MessageBox.Show("Files Transfered for Approval Successflly");
}
循环 SelectedRows
foreach (DataGridViewRow row in dataGridView1.SelectedRows)
如果您只想在 DataGridView
中插入选定的行,那么您应该在其上循环,请替换此
foreach
行
foreach (DataGridViewRow row in dataGridView1.SelectedRows)
UPD
MSDN:
"The SelectionMode property must be set to FullRowSelect or RowHeaderSelect for the SelectedRows property to be populated with selected rows."