et培训个人总结笔记梁国锦

小结:SqlDataAdapter 相当于 DataSet 和数据库之间沟通的桥梁,无论是从数据库中取数据、把数据 Update 到数据库等,都需要用到 SqlDadaAdapter。例如以下这段代码:

细节:C#中的可空类型(如:int? i = null;等)其实“真身”是泛型的结构体类型的 Nullable<T>,如下面两行功能效果是等价的:

注意:在使用强类型 DataSet 时相应的数据库一定要设定主键,否则会用不了强类型 DataSet。

细节区别:在强类型 DataSet 中,adapter 的 Fill() 和 GetData() 都是从数据库中提取数据,但两者之间存在区别:调用 Fill() 方法时,强类型的 DataTable 对象要以参数的形式传进方法,来让 adapter 给自身“填充”数据,此种方式要求在调用 Fill() 之前必须已经存在一个待填充的强类型 DataTable;而调用 GetData() 时,提取出来的数据是以返回值的形式赋值给一个强类型 DataTable 的,不需要传进参数,这种方式不要求在调用前就创建好待填充的强类型 DataTable ,只要在调用 GetData() 函数后有一个强类型 DataTable 的变量来接载数据即可。

细节:强类型 DataSet 命名潜规则:表名+TableAdapter;表名+DataTable;表名+Row;

技巧:在 VisualStudio 开发环境中,若名字下面出现有短横线出现,表示 VS 监测到有可添加的命名空间(namespace),可以用“解析”(或者 Ctrl + .)来自动地把引用命名空间的代码补全。

重点:在使用强类型 DataSet 时一定要为表设定主键,如果不设主键,DataSet 的 TableAdapter 就不能够为 DataSet 自动地完成相关的 Command 。

注意:在 VisualStudio 开发环境中,把一个表“拽”到强类型 DataSet 中的操作所代表的是:命令强类型 DataSet 按照“拖拽”进来的表的结构来设定好 DataSet 的结构和相关的设置,而不是把表里的数据一同“拖”到强类型 DataSet 中。“拖拽”动作之后,如果被拖拽的表发生了任何变化,该对应的强类型 DataSet 都不会被同步,若要把表的变化同步到强类型 DataSet 中,有两种办法:1.删除掉原来的强类型 DataSet,然后再把表重新“拖拽”到数据集中,但如果你在 DataSet 中添加了一些Sql语句或者调用方法的话,这种方法会把这些变化都冲掉,因此不推荐。2.右键单击强类型 DataSet (即拖拽后在页面中显示的“表”的以拖拽过来的表的表名命名的“表头”),选择“配置”,如果没有新增任何字段等的话,直接点击完成,即可完成同步更新;如果新增了字段,则点击右下角的“查询生成器”,然后在查询生成器上面显示的一个以被拖拽的表命名的“方框”中选择要添加的列(在要添加的列前面打钩),然后点确定,再点完成,即可完成同步。

重点注意:在使用强类型 DataSet 时,当用其所属的 adapter 执行非查询语句(即非 Select 语句)后,改变的只是数据库里的数据,DataSet(即内存)里的数据是没有受到任何影响的,若要把改变同步到DataSet(内存)中,必需要重新执行 adapter 的 GetData() 或 Fill() 方法,这样才能从数据库中提取出最新的(被修改后的)数据回来。

重点细节:1.强类型 DataSet 对应的 “表名+TableAdapter”类的对象(暂命名为 adapter )的 Connection 属性下的 State 属性可以获取或设置该 adapter 此时的链接状态。2.强类型 DataSet 对应的 “表名+TableAdapter”类的对象(暂命名为 adapter )所执行的所有读和取数据的函数方法中都含有以下代码:

重点、关键:DataGridView 数据绑定步骤:打开窗体,显示出工具箱,在工具箱顶端有一栏以“项目名+组件”命名的栏目(若没有,检查一下项目中有没有创建好强类型 DataSet 文件,如果确认已经创建 xsd(DataSet)文件,则把项目重新生成一遍,估计这样应该已经可以确定能看到。),选中该栏目里以 DataSet 的名称命名的强类型 DataSet 控件,以“表的名称+TableAdapter”命名的强类型的 adapter 控件,在“数据”栏里面拖出 BindingSource 和 DataGridView(该控件属可视控件,不同于前面的三个) 控件,这样,拖控件的步骤基本就完成了。然后到了设置的步骤,选中 BindingSource 控件,选择 DataSource 属性,在里面依次选择“其他数据源”→“From数据绑定列表实例”(切记!不是项目数据源!!)→“强类型DataSet的名称”,然后选择 DataMember 属性,在里面选择你想和 DataGridView 绑定的数据表(这是因为,强类型 DataSet 不仅仅可以包含一个table,还可以包含多个table,所以这里是指明 BindingSource 控件要绑定到 DataSet 中的哪个 table。);然后选中 DataGridView 控件,选择 DataSource 属性,在里面选择 BindingSource 控件的名字。这一大轮的“选择属性”的目的大体是:把 DataGridView 绑定到 BindingSource,把 BindingSource 绑定到 DataSet,DataSet 负责向数据库获取数据,而获取数据的动作则通过 Adapter 来完成。

细节:在 DataGridView 控件中右键单击,选中“编辑列”,在打开的窗口中可以添加、删除在控件上被显示的列,也可以通过修改 HeaderText 属性的值来修改被显示的列的列名。其中通过修改 ToopTipText 属性的值还可以为该列的列名设置 ToopTips 信息(即当鼠标指针停靠到该列列名上时,指针旁边自动出现一个小小的提示框的效果,该 ToopTipText 属性就是设置提示框中显示的内容)。

细节:当用强类型 DataSet 绑定了 DataGridView 之后,如果需要把在 DataGridView 上被修改的数据通过 Adapter 来 Update() 到数据库中的话,在 Update() 之前最好加上下面这两句,好让 Update() 之前先停止 DataGridView 的编辑状态:

细节:在 DataGridView 中删除多行(但不会在数据库中也同时被删除掉)的参考代码:

技巧:只要自己写的类直接或间接地继承自 Component 类的话,在VS的工具箱中就能“出现”你所写的类的“控件”了。

THE END
0.个人工作总结范文(19篇)个人工作总结范文【篇1】参加工作以来,在领导和同志的帮助下,我认真学习、刻苦钻研,积极为养殖户服务,各方面都取得了一定的进步,得到领导和同志的一致好评。现总结如下:一、不断提高思想修养水平。参加工jvzquC41yy}/z~jzkng/exr1hyt0tnuqtvmpppwqdgpijt1e4>289=0jvsm
1.个人工作总结范文模板3篇简短的个人工作总结格式范文(二)___就要过去,我为自己今年的后勤工作做了一个总结,以下是我的总结:一、干好办公室内勤工作要处理好“四种矛盾”1.处理好大局和小局的矛盾。 个人年终工作总结范文模板(15篇万能).doc 个人年终工作总结范文模板(15篇万能)个人年终工作总结范文模板篇1一年的时间真的是过得非常的快jvzquC41yy}/5?5fqey/pny1fqi0cAfgegh86k;6;d<76Ai9e3i82Af34::beA:227i40qyon
2.个人工作总结应该这样写(精选18篇)时间不知不觉,我们后知后觉,辛苦的工作已经告一段落了,回顾过去这段时间的工作,收获颇丰,是时候认真地做好工作总结了。大家知道工作总结的格式吗?以下是小编为大家整理的个人工作总结应该这样写,欢迎大家借鉴与参考,希望对大家有所帮助。 个人工作总结应该这样写 篇1 我于xx年年x月xx日开始到公司上班,从来公司的第一天开始,我就把自己融入 jvzquC41okv/{~|gpoo/exr1hctxgw4iqpm{wx4924=877mvon
3.个人总结格式范文导语:如何才能写好一篇个人总结格式,这就需要搜集整理更多的资料和文献,欢迎阅读由公文云整理的十篇范文,供你借鉴。 篇1 个人工作总结一般的格式为标题、前言、主体、结尾四部分。 标题即个人总结的名称,有时可以将主要内容、性质作标题,如不能表达出完整的意思时,在正标题下可以再拟副标题。如《企业财务会计个人jvzquC41yy}/i€~qq0ipo8mcqyko1:9298?/j}rn
4.“数字资源建设与长期保存研讨会”暨CALIS第十八届引进数据库培训闭幕式(大会总结,会旗交接) 报告 本日,在DRAA副理事长、清华大学图书馆邵敏副馆长,DRAA理事、北京大学图书馆副馆长别立谦的主持下,大会共进行了1场大会固定报告、4场DRAA研究课题报告、7场数据库商专题报告和3场联盟业务培训报告。 DRAA副理事长、清华大学图书馆邵敏副馆长主持 DRAA理事、北京大学图书馆副馆长别立谦jvzq<84ecnot3A3ecnot0niw0et0Jxrg1Okow88/;<756IH887:8KG24;
5.个人工作总结格式模板五篇2022个人工作总结格式模板3 严格来说,对于自己都是为追求进步和提升来说,回首一望,本人发现渡过了一个平淡的6月,本月工作虽然没有轰轰烈烈的业绩,但也算是经历一段不平凡的考验和磨练。在部门领导的正确领导下,我的工作围绕人事管理、奖罚行为的监督与执行、人员招聘与职位培训、员工思想动态以及对生产部管理人员评价调jvzquC41yy}/z~jzkng/exr1|l€pppokg1i25=>4634ivvq