//用户输入几行数据循环插入数据库 for (int i = 0; i <= newCount - 1; i++) { string a = dgv_Parameter.Rows[table_count + i].Cells[0].Value.ToString(); //第一个字段值 int b = int.Parse(dgv_Parameter.Rows[table_count + i].Cells[1].Value.ToString());//第二个字段值 string c = dgv_Parameter.Rows[table_count + i].Cells[2].Value.ToString();//最后个字段值 (就是这个字段,当最后一条数据插入数据库时,这个字段总为空) SqlCommand cmd3 = new SqlCommand("insert into run_parameter(name,content,res) values('" + a + "','" + b + "','" + c + "')", con); cmd3.ExecuteNonQuery();
DataGridView.EndEdit()
for (int i = 0; i <= newCount - 1; i++)
{
string a = dgv_Parameter.Rows[table_count + i].Cells[0].Value.ToString(); //第一个字段值
int b = int.Parse(dgv_Parameter.Rows[table_count + i].Cells[1].Value.ToString());//第二个字段值
string c = dgv_Parameter.Rows[table_count + i].Cells[2].Value.ToString();//最后个字段值 (就是这个字段,当最后一条数据插入数据库时,这个字段总为空)
SqlCommand cmd3 = new SqlCommand("insert into run_parameter(name,content,res) values('" + a + "','" + b + "','" + c + "')", con);
cmd3.ExecuteNonQuery();
}
改成这样应该可以了吧,把i <= newCount - 2改成i <= newCount - 1
在提交前DataGridView.EndEdit()一下~
或者在最后保存时将当前单元格指到别的。 if (dgvData.CurrentRow != null)
{
dgvData.CurrentCell = dgvData[1, dgvData.CurrentRow.Index]; //dgvData.CurrentCell = dgvData[0, dgvData.CurrentRow.Index]; }
你还没有结束编辑所以没能实现 传值
更新后直接点击该行的任意列,都无法把更新的操作记录提交,因此不能存入数据库。
不知道是怎么一回事。
最后一条语句没有后续的操作来强迫更新,就不能更新到数据库。