强类型DataSet几点注意事项

强类型DataSet使用:

1项目-->新建项-->Data-->数据集-->*.xsd文件-->拖拽服务器资源管理器中数据库文件DataSet设计器窗口中。系统会自动帮我们生成Fill,和GetData()方法,就是数据库查询中的select * from 表名。

2我们也可以自己定义SQL查询:DataSet设计器窗口中右键-->添加-->Query-->使用SQL语句-->使用什么类型的SQL(根据需要选择-->填写SQL语句-->为填充DataTale:Fill() 和返回DataTable:GetData()方法取名字-->生成方法)

3但是不要忘了给数据表建立主键,而且尽量不要有NULL值,如果可能为空则要用Is***Null()方法进行判断。

4修改表结构要重新配置:右键点击xsd视图中生成的窗体-->配置-->完成,

5增加删除表结构要重新生成:右键点击DataSet设计器中生成的窗体-->配置-->查询生成器-->钩选新增加删除的结构.

6然后就可以在程序中直接调用了。

7一定要记住DataSet是将数据库中的数据取出来存在本地内存中,则你修改时也是修改的本地,如果不执行重新读取数据库获取数据操作那么就无法及时得到更新后的数据。两者是异步的。

8还有就是批量操作要连续多次打来关闭数据库的时候可以先在操作前打开数据库,操作完后在关闭数据库。DataSet中是这样实现连接的打开和关闭的 :连接不是OPEN它就OPEN 如果连接是CLOSE它就CLOSE(很费解不做它就是这样写的可以看xsd文件中的DataSet表名.Designer.cs中的实现)。这样批量操作时,先打开连接,这样每次操作就不会再次打开连接了,然后它连接你自己不close它也就不会close。直到你批量操作完成再关闭,那么DataSet就关闭了。这样保证所有操作都在一个连接中可以大大优化数据库访问速度。

强类型DataSet几点注意事项,布布扣,bubuko.com

时间: 2024-10-14 20:15:10

强类型DataSet几点注意事项的相关文章

VS2010实现强类型DataSet(转载)

[021]VS2010实现强类型DataSet ---> 操作简单,同时可以对数据库进行操作 <--- 原文链接:http://www.cnblogs.com/alex-bn-lee/archive/2012/03/11/2390171.html --------------------------------------------------------------------------------------------------------- ●·● 目录: A1 ………… 新建强

【ADO.NET】8、DataSet的使用

一.DataSet的查询 SqlDataReader 适用于大型数据的读取,它是一条一条的读取,读取出来的数据是存放在服务器上当正在读取数据的时候,突然与服务中断,将无法读取后面的数据DataSet 适用于小型数据的读取,它是一次将所有数据读取并存放到本机程序的内存当中,占内存当正在读取数据的时候,突然与服务中断,数据可继续读取 DataSet可存放若干个表(DataTable),每个表有若干个行(DataRow) private void button3_Click(object sender

Dynamic CRM 2013学习笔记(十五)报表入门、开发工具及注意事项

本文是关于CRM 2013报表开发入门介绍,包括开发工具的使用,以及不同于普通Reporting service的相关注意事项.   一.CRM报表简介 报表有两种,SQL-based报表和Fetch-based报表,区别如下: 区域 SQL-based 报表 Fetch-based 报表 Data Provider <DataProvider> 元素的值设置为SQL. 示例如下:<DataProvider>SQL</DataProvider> 报表RDL文件中的 &l

第5章分布式系统模式 在 .NET 中使用 DataSet 实现 Data Transfer Object

要在 .NET Framework 中实现分布式应用程序.客户端应用程序需要显示一个窗体,该窗体要求对 ASP.NET Web Service 进行多个调用以满足单个用户请求.基于性能方面的考虑,我们发现,进行多个调用会降低应用程序性能.为了提高性能,需要通过对 Web Service 进行一次调用就能检索到用户请求所需的所有数据. 背景信息 注意:以下是在 .NET 中使用类型化 DataSet 实现 Data Transfer Object 中所描述的同一个示例应用程序. 下面是一个简化的

Interview

下面的题是供大家查漏补缺用的,真正的把这些题搞懂了,才能"以不变应万变". 回答问题的时候能联系做过项目的例子是最好的,有的问题后面我已经补充联系到项目中的对应的案例了. 1.简述 private. protected. public. internal 修饰符的访问权限.  private : 私有成员, 在类的内部才可以访问. protected : 保护成员,该类内部和继承类中可以访问. public : 公共成员,完全公开,没有访问限制. internal: 当前程序集内可以访

软件架构设计系列总结

架构引用维基百科:软件体系结构是构建计算机软件实践的基础.与建筑师设定建筑项目的设计原则和目标,作为绘图员画图的基础一样,一个软件架构师或者系统架构师陈述软件构架以作为满足不同客户需求的实际系统设计方案的基础.从和目的.主题.材料和结构的联系上来说,软件架构可以和建筑物的架构相比拟.一个软件架构师需要有广泛的软件理论知识和相应的经验来实施和管理软件产品的高级设计.软件架构师定义和设计软件的模块化,模块之间的交互,用户界面风格,对外接口方法,创新的设计特性,以及高层事物的对象操作.逻辑和流程.软件

EntityFramework学习

本文档主要介绍.NET开发中两项新技术,.NET平台语言中的语言集成查询技术 - LINQ,与ADO.NET中新增的数据访问层设计技术ADO.NET Entity Framework.ADO.NET的LINQ to Entity部分以LINQ为基础,为了完整性首先介绍LINQ技术. 预备知识 LINQ技术 LINQ是.NET 3.5中新增的一种技术,这个技术扩展了.NET平台上的编程语言,使其可以更加方便的进行数据查询,单纯的LINQ技术主要完成对集合对象(如System.Collection下

微软-创建业务逻辑层

https://msdn.microsoft.com/zh-cn/dd255899 简介 在教程一中创建的数据访问层 (DAL) 将数据访问逻辑与表示逻辑清晰地分离开来.然而,尽管 DAL 从表示层中清晰地分离出数据访问层细节,它却并没有实施任何可能采用的业务规则.例如,我们想让我们的应用程序在 Discontinued 字段设为 1 时禁止对 Products 表的 CategoryID 或 SupplierID 字段的修改,还有,我们可能想实施一些资历规则以便禁止发生这样的情况:雇员被其后入

GridView控件RowDataBound事件中获取列字段值的几种途径 !!!

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.Attributes.Add("onclick", "javascript:alert('当前ID为:" +DataBinder.Eval(e.Row.DataItem,"CID"