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();拒绝冲突的行并在数据集中回到初始值