过客

路过!
posts - 133, comments - 31, trackbacks - 2, articles - 3
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

公告

2008年11月23日

Code

posted @ 2008-11-23 21:02 过客路过 阅读(127) 评论(0) 编辑

Code

posted @ 2008-11-23 20:31 过客路过 阅读(125) 评论(0) 编辑

Code

//代码说明

//本例没有创建数据集--DataSet ds=new DataSet();

//而是创建了以个表--DataTable dt=new DataTable();

//没有填充数据集---da.Fill(ds,"products");

//而是填充表--da.Fill(dt);

//因为数据表之能保存一张表,所以注意Fill()方法没有接受数据表名作为参数.由于不需要在数据集中查找特定的表,

//所以一下的代码就不必了  DataTable dt=ds.Tables["products"];

//NOTICE:除非确实要在数据集中组织数据表以及定义他们之间的关系,否则使用一个或者多个数据表比数据集更容易编码!并且占用较少的运行时资源!

posted @ 2008-11-23 16:34 过客路过 阅读(698) 评论(3) 编辑

.NET环境中,XML是数据交换的基本格式,In fact ,The xml is the base of the ADO.NET,The DataSet store the data with the Xml inside it,and has many methods  to write and read the xml

For example:

1.System.Data.DataSet的ReadXmlSchema()和WriteXmlSchema(),可以把数据集的结构导出导入为XML模式!

2.可以使用ReadXml()和WriteXml()读取数据集中的数据并且转换为Xml格式!与另一程序交换数据或者制作数据集的本地副本时很有效 !

3.可以把数据集绑定到xml文档上(System.Xml.XmlDocument的实例!),数据集和数据文档是同步的!可以使用ADO.NET 和XML操作来修改它!

Code

posted @ 2008-11-23 16:02 过客路过 阅读(326) 评论(2) 编辑

Code

 给UpDateCommand,InsertCommand,DeleteCommand属性编写代码虽然简单,但是也有很多的问题!

因袭每个数据一共程序都有自己的命令构造器(Command Bulider) ..如果DataTable对应数据库智能个的一个表,那么就可以用CommandBulider为DataAdapter自动生成对应的UpDateCommand,InsertCommand,DeleteCommand属性,

在调用Update()时显式完成!

SqlDataAdapter 不会自动生成实现 DataSet 的更改与关联的 SQL Server 实例之间的协调所需的 Transact-SQL 语句。但是,如果设置了 SqlDataAdapterSelectCommand 属性,则可以创建一个 SqlCommandBuilder 对象来自动生成用于单表更新的 Transact-SQL 语句。然后,SqlCommandBuilder 将生成其他任何未设置的 Transact-SQL 语句。

每当设置了 DataAdapter 属性,SqlCommandBuilder 就将其本身注册为 RowUpdating 事件的侦听器。一次只能将一个 SqlDataAdapter 与一个 SqlCommandBuilder 对象(或相反)互相关联。

为了生成 INSERT、UPDATE 或 DELETE 语句,SqlCommandBuilder 会自动使用 SelectCommand 属性来检索所需的元数据集。如果在检索到元数据后(例如在第一次更新后)更改 SelectCommand,则应调用 RefreshSchema 方法来更新元数据。

SelectCommand 还必须至少返回一个主键列或唯一的列。如果什么都没有返回,就会产生 InvalidOperation 异常,不生成命令。

SqlCommandBuilder 还使用由 SelectCommand 引用的 ConnectionCommandTimeoutTransaction 属性。如果修改了这些属性中的一个或多个,或者替换了 SelectCommand 本身,用户则应调用 RefreshSchema。否则,InsertCommandUpdateCommandDeleteCommand 属性都保留它们以前的值。

如果调用 Dispose,则会解除 SqlCommandBuilderSqlDataAdapter 的关联,并且不再使用生成的命令。

 

posted @ 2008-11-23 15:30 过客路过 阅读(1122) 评论(1) 编辑