已有56人关注
C#更新数据库数据
发表在C#图书答疑 2016-03-12
是否精华
版块置顶:
SqlClass.cn.Close();//cn为sqlconnection实例
                dataGridView1.ReadOnly = false;
                dataGridView1.CurrentRow.Cells[0].Value = textBox1.Text;
                dataGridView1.CurrentRow.Cells[1].Value = textBox2.Text;
                dataGridView1.CurrentRow.Cells[3].Value = Int32.Parse(textBox3.Text);
                if (radioButton1.Checked == true)
                    dataGridView1.CurrentRow.Cells[2].Value = "男";
                if (radioButton2.Checked == true)
                    dataGridView1.CurrentRow.Cells[2].Value = "女";
                DataTable tb = dataGridView1.DataSource as DataTable;
                string sql = "select * from employee";
                SqlDataAdapter sda = new SqlDataAdapter(sql, SqlClass.cn);
                SqlCommandBuilder scb = new SqlCommandBuilder(sda);
                sda.Update(tb);
                MessageBox.Show("修改成功");
                dataGridView1.ReadOnly = true;
                SqlClass.cn.Open();
//以上更新方法在直接修改datagridview内数据可用,想更改成利用文本框数据来更改数据库数据时datagridview会更改,但不会更改数据库内数据,且没有异常可catch
分享到:
精彩评论 3
小科_mrkj
学分:43 LV2
2016-03-14
沙发
读者朋友:
    您好,你可以通过设置断点查看一下DataTable tb = dataGridView1.DataSource as DataTable;这句代码执行后,tb中的数据是否是你修改后的数据,由于数据库中没有更新,这里的tb数据应该还是你的原始数据,你可以使用DataTable这个类的相应方法把里面存储的某条记录强制修改成你文本框中想要修改的数据,然后再执行。
MX_mrkj
学分:0 LV1
2016-03-15
板凳
dt数据已经是datagridview的数据,把datagridview的readonly属性为false后在表格直接编辑后可更新到数据库。我的提问是为了readonly为true用文本框修改数据库,但不成功
小科_mrkj
学分:43 LV2
2016-03-16
地板
读者朋友:
    您好,在你代码中DataTable tb = dataGridView1.DataSource as DataTable;这条语句前面加一条“dataGridView1.CurrentCell=null;”,这句代码主要是为了取消datagridview行的编辑状态,因为在C#中,如果焦点不离开当前行,DataTable就获取不到新数据,也就无法更新。
首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照