日期:2014-05-17  浏览次数:20884 次

C# dataGridView 控件更新的问题
先请大家看图:

我想在点击归还图书时,系统会自动在给dataGridView的某一行的第五列赋值,赋值为“已归还”,并同时保证到数据库data JieYueGuanLi表中。我自己写了一个代码 但是无法保存到数据库中!请大家看下我的代码:
         private SqlDataAdapter myadpt = null;
        private DataSet myds = null;
        string constr = "server=.;database=data;Integrated Security=SSPI";     
          int n = dataGridView1.CurrentRow.Index;
   
                dataGridView1.Rows[n].Cells[7].Value = "已归还";//i为行标,j为列标
                dataGridView1.Rows[n].Cells[6].Value = DateTime.Now.ToString("yyyy-MM-dd");

                if (MessageBox.Show("您确认要修改数据吗?", "更新确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {

                    SqlCommandBuilder myscb = new SqlCommandBuilder(myadpt);
                    myadpt.Update(myds);
                    MessageBox.Show("数据以修改并以存到数据库当中!", "修改成功", MessageBoxButtons.OK, MessageBoxIcon.None);
C#

------解决方案--------------------
应该先对比表格中哪一行的“借读卡号 ”、“书名”或“书号”与输入值相同,然后获取它的行号n。
而如果借阅状态那一列你确定是第五列的话,那也应该是Cells[4]啊。
而更新数据库的话,也必须更新“借读卡号 ”、“书名”或“书号”与输入值相同的那一行啊。