


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DataGridView的添加、编辑、更新转载于太上老君的个人资料今天说说 DataGridView 吧,在一个小项目中用到了这个。面对的问题是要在 DataGridView 中编辑、更新其中的值,然后怎么回写到数据库中?一开始的想法也是用循环读取 Cell,然后自己手动回写到数据库中,但总觉得不方便,认为微软会把这些工作封装好的,就上网查了一下,发现确实有这个功能。先描述一下数据库中的结构表 1 表 2IDNameSexIDIDSex1A11 男2B22 女3C2一开始的绑定是很容易的,但绑定后更新不了数据库中的值,一更新就提示 SexID 的值是没设置数据源的,因为 SexID 是外键。还
2、好在网上查到了一个折中的解决办法,是在建立一个 DataTable 自己做映射:DataTabledtRelation=newDataTable();dtRelation.Columns.Add(Code,typeof(byte);dtRelation.Columns.Add(DisplayString,typeof(string);dtRelation.Rows.Add(newobject0,苹果);dtRelation.Rows.Add(newobject1,香蕉);dtRelation.Rows.Add(newobject2,西瓜);2.设置下拉列表列(DataGridViewCombo
3、xColumn)属性:下拉列表列.DataSource=dtRelation;下拉列表列.ValueMember=Code;下拉列表列.DisplayMember=DisplayString;下拉列表列.DataPropertyName=数据源.列名;后来我发现其实不用 DataTable 也可以直接让 DataGridView 完成绑定 2 个表的操作,而且更新时是可以直接更新的:SqlDataAdapterda;SqlCommandcmd;SqlCommandBuildercmdBuilder;DataSetds;privatevoidDataBind()(da=newSqlDataAda
4、pter(cmd);cmdBuilder=newSqlCommandBuilder(da);ds=newDataSet();da.Fill(ds,Students);dataGridView1.AutoGenerateColumns=false;绑定数据源dataGridView1.DataSource=ds.TablesStudents;Column1.DataPropertyName=ds.TablesStudents.Columns1.ColumnName;Column2.DataPropertyName=ds.TablesStudents.Columns2.ColumnName;Col
5、umn3.DataPropertyName=ds.TablesStudents.Columns3.ColumnName;初始化性别stringsql_Sex=select*fromSex;SqlCommandcmd_Sex=newSqlCommand(sql_Sex,Main.Conn);SqlDataAdapterda_Sex=newSqlDataAdapter(cmd_Sex);DataSetds_Sex=newDataSet();da_Sex.Fill(ds_Sex,Sex);Column3.DataSource=ds_Sex.TablesSex;Column3.DisplayMembe
6、r=Value;Column3.ValueMember=ID;stringsqlSTR=select*fromStudents;cmd=newSqlCommand(sqlSTR,Main.Conn);DataBind();至此,我们已经成功将 DataGridView 绑定了 2 个表,而且不用 DataTable 做中间层。关键就在:DataSource设定要绑定的数据源设置更新后回写到数据库的哪一列,多表时要把数据设置要显示在 DataGridView 的字段设置对应 DisplayMember 的实际值的字段这几个属性上。在更新回数据源时还有一点要注意,就是绑定数据源时一定要DataPropertyName源也写上DisplayMemberValueMember/有主键,这样你只要设置 SqlDataAdapter 中的 SelectCommand 属性,其余的 UpdateCommand、DeleteCommandInsertCommand 属性就会自动设置、并完成相应的功能:try(da.Update(ds.Tables0.GetChanges();MessageBox.Show(数据处理成功!);ds
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年初级机械设计师考试备考指南及模拟题
- 2025年初级音乐创作技巧与实战练习
- 2025年水文水资源调查与评估案例分析教程及模拟题集
- 2025年初级市场营销专员模拟面试题与答案解析
- 【教案版】小学五班级上册 跳绳4
- 2025年建筑行业设计师招聘面试模拟题集及解析
- 2025年汽车技术工程师考试预测题及备考指南
- 2025年外贸销售代表面试要点与预测题
- 2025年物资储备仓库安全管理实践案例分析及模拟题集解析
- 2025年考研政治考点精讲及模拟题集
- 高中日语学习宣讲+课件
- 2022年新高考II卷高考语文试卷试题深度解读及答案详解(精校版)
- 一次调频综合指标计算及考核度量方法
- 车辆段平面布置设计
- 数字媒体艺术概论-第一章-概述
- 四大会计师事务所面试题
- GB/T 4669-2008纺织品机织物单位长度质量和单位面积质量的测定
- GB/T 4604-2006滚动轴承径向游隙
- Fanuc系统宏程序教程
- 药物竹罐临床应用课件
- 2022年咸阳经开城市发展集团有限公司招聘笔试试题及答案解析
评论
0/150
提交评论