1.提高Dataset加载数据的效率

  a.DataSet.EnforeceConstraints=False;

  b.对DataTable 对象调用BeginLoadData()

    e.g: ds.tablename1.BeginLoadData();

           ds.Fill(tablename1);

           ds.tablename1.EndLoadData();

2. DataSet无结构的加载

   a.使用MissingSchemaAction属性控制数据结构生成。

   b.FillSchema()方法建立一个新的数据结构

3.DataSet行的状态

   每个数据行对象都有一个RowState属性.

   得到当前版本的值: DataRowVersion.Current   原始版本的值:DataRowVersion.Original

4.SqlConnectBuilder 与SqlCommandBuilder的使用

   对连接字符串的安全考虑,可以使用上面的这个类

   得到改变的SQL语句:通过SqlCommandBuilder.GetSelectCommand(true) /GetUpdateCommand(true)

5.开放式并发与保守并发

  主要是锁的时间不一样,对与开放式并发的问题,主要有:删除已经删除的行或更新已经更新的列,主要解决方法有:首先捕获到异常的发生(用try,catch就可以了).通过

 DataSet.HasErrors ,DataTableHasErrors,DataRowHasErrors来检测。在解决冲突。

解决冲突地区的方法主要有:

row.Clear(); 拒绝冲突的行并从数据库得到最近的数据

row.RejectChanges();拒绝冲突的行并在数据集中回到初始值