110,552
社区成员
发帖
与我相关
我的任务
分享
private void 当前制作人ToolStripMenuItem_Click(object sender, EventArgs e)
{
progressBar1.Maximum = dataGridView1.RowCount;
progressBar1.Visible = true;
Cursor = Cursors.WaitCursor;
if (dataGridView1.SelectedRows.Count <= 0)
{
Cursor = Cursors.Default;
MessageBox.Show("请先选择要批量修改的整行!");
return;
}
else
{
int times = 0;
for (int i = 0; i < dataGridView1.RowCount; i++)
{
if (dataGridView1.Rows[i].Selected == true)
{
SqlDataset.SqlCommand("update 生产表 set 当前制作人=@当前制作人 where ID=@ID", new SqlParameter("ID", dataGridView1.Rows[i].Cells[0].Value.ToString().Trim()), new SqlParameter("当前制作人", textBox2.Text.Trim()));
dataGridView1.Rows[i].Cells[4].Value = textBox2.Text.Trim();
times++;
}
progressBar1.PerformStep();
}
progressBar1.Visible = false;
MessageBox.Show("成功修改了" + times.ToString() + "行制作人!");
}
Cursor = Cursors.Default;
}
// 利用 "UPDATE 生产表 SET 当前制作人={0} WHERE ID IN ({1})" 拼接 sql
// 参数 "{0}" = textBox2.Text.Trim();
// 参数 "{1}" 可以利用 linq 直接获取
// 如果 ID 是字符型数据
// 使用 string.Format("'{0}'", row.Cells["ID"]
string sql =
string.Format("UPDATE 生产表 SET 当前制作人={0} WHERE ID IN ({1})",
textBox2.Text.Trim(),
string.Join(",", dataGridView1.SelectedRows
.Cast<System.Windows.Forms.DataGridViewRow>()
.Select(row => string.Format("{0}", row.Cells["ID"])).ToArray()));
Console.WriteLine( sql );