• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > ADO.Net 类型化DataSet的简单介绍

ADO.Net 类型化DataSet的简单介绍

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了ado.net dataset,ado.net,ado.net是什么,ado.net连接数据库,ado.net视频教程等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

一、弱类型DataSet的缺点:
1、只能通过列名引用,dataset.Tables[0].Rows[0]["Age"],如果写错了列名编译时不会发现错误,因此开发时必须要记着列名。
2、int age=Convert.ToInt32(dataset.Rows[0]["Age"]),取到的字段的值是object类型,必须小心翼翼的进行类型转换,不仅麻烦,而且容易出错。
3、将DataSet传递给其他使用者,使用者很难识别出有哪些列可以供使用。
4、运行时才能知道所有列名,数据绑定麻烦,无法使用Winform、ASP.Net的快速开发功能。
5、自己动手写强类型DataSet(类型化DataSet,TypedDataSet),创建继承自DataSet的PersonDataSet类,封装出int? Age等属性和bool IsAgeNull等方法,向PersonDataSet中填充。

二、VS自动生成强类型DataSet:
1、步骤:添加->新建项->数据集
2、将表从服务器资源管理器拖放到DataSet中。注意拖放过程是自动根据表结构生成强类型DataSet等类,没有把数据也拖过来,程序还是连的那个数据库,自动将数据库连接字符串写在了App.Config中。
3、代码中使用DataSet示例:CC_RecordTableAdapter adapter=new CC_RecordTableAdapter();如何得知Adapter的类名?选中DataSet中下半部分的Adapter,Name属性就是类名。需要右键点击类名->解析
4、取得所有的数据:adapter.GetData(),例子程序:遍历显示所有数据,i<adapter.GetData().Count;adapter.GetData()[i].Age。
5、常见问题:类名敲不对,表名+TableAdapter,表名+DataTable,表名+Row,然后用“解析”来填充类名。
6、常见问题:类的内部定义的类要通过包含namespace的全名来引用,不能省略。类的内部定义的类就能避免同一个namespace下类不能重名的问题。

三、更新DataSet:
1、调用Adapter的Update方法就可以将DataSet的改变保存到数据库。adapter.Update(datatable);
2、要调用Update方法更新必须设置数据库主键,同样,Delete方法也是如此;
3、常见错误:“当传递具有已修改行的DataRow集合时,更新要求有效的UpdateCommand”,要为表设置主键。“谁都变了,唯有主键不会变”,程序要通过主键来定位要更新的行。忘了设主键怎么办?先到数据库中设置主键,然后在DataSet的对应DataTable上点击右键,选择“配置”,在对话框中点击“完成”。好习惯:所有表都要设置主键!!!看看为什么会自动帮我们GetData、Update、Delete。   
现在做个简单的练习:
第一步:添加一个数据库,名为DB1.mdf(表T_Persons含有Id,Name,Age字段)
第二步:添加一个应用程序配置文件:App.config文件,其代码如下:

四、其它问题:
1、插入新行,调用Insert方法。
2、数据库表中增加了字段后怎么办?DataSet设计器中点【配置】,对话框中点【查询生成器】,勾选新增加的字段即可。删除字段同样如此。
3、要修改字段就要重新配置生成,这就是强类型DataSet的弱点。
4、常见错误:报错、数据为空。判断列的值为空的方法:Is**Null
5、为什么Select方法会填充、Update方法会更新、Insert方法会插入?看看Adapter的SelectCommand等属性就知道了,都是那些SQL语句在起作用,如果有需要完全可以手工调整。  如: 
</div>

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • .NET中如何将文本文件的内容存储到DataSet
  • ADO.Net 类型化DataSet的简单介绍

相关文章

  • 2017-05-11控件开发时两种JS嵌入资源方式的使用方法
  • 2017-05-11一天精通asp.net的学习经验小结
  • 2017-05-11ASP.NET动态添加用户控件的方法
  • 2017-05-11深入Lumisoft.NET组件POP3邮件接收与删除操作的使用详解
  • 2017-05-11ASP.NET实现级联下拉框效果实例讲解
  • 2017-05-11ASP.NET MVC页面重定向简单介绍
  • 2017-05-11比较简单的将数据信息导入wrod文档方案(C# for word)
  • 2017-05-11ASP.NET 2.0中的数据操作之七:使用DropDownList过滤的主/从报表
  • 2017-05-11repeater、gridview 在绑定时判断判断显示不同的行样式或文本
  • 2017-05-11C# 给站点指定位置的某种格式的图片添加水印

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • IE10下Gridview后台设置行高不起作用解决方法
    • DropDownList获取的SelectIndex一直为0的问题
    • asp.net及javascript判断是否手机访问的方法
    • ASP.net中实现基于UrlRewrite的防盗链功能
    • ASP.NET MVC4入门教程(一):入门介绍
    • 使用ASP.NET.4.5.1+MVC5.0 搭建一个包含 Ninject框架 项目
    • asp.net 根据汉字的拼音首字母搜索数据库(附 LINQ 调用方法)
    • ASP.Net中表单POST到其他页面的方法分享
    • ADO与ADO.NET的区别与介绍
    • ASP.NET MVC中使用jQuery时的浏览器缓存问题详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有