ADO.NET的DataAdapter对象的方法

来源:互联网 发布:igm机器人编程手册 编辑:程序博客网 时间:2024/04/29 12:59

由于数据集不保留有关它所包含的数据来源的任何信息,因而对数据集中行所做的更改也不会自动回传到数据源,我们必须用数据适配器的Update方法来完成这项任务。对于数据集中每一个做出更改的行,Update会适当地调用数据适配器InsertCommand,DeleteCommand,UpdateCommand。

一、Update方法

Update(DataSet) 根据指定DataSet中名为Table的数据表更新数据源
Update(dataRows) 根据指定dataRows数组更新数据源
Update(DataTable) 根据指定DataTale更新数据源
Update(dataRows,DataTableMapping) 使用指定的DataTableMapping,根据指定的dataRows数组更新数据源
Update(DataSet,sourceTable) 根据DataSet的sourceTable中指定的数据表更新数据源
Fill方法使用数据适配器的SelectCommand中指定的命令把数据从数据源加载到数据集的一个或多个表中。DataAdapter对象包括:SqlDataAdapter和OleDbDataAdapter

二、Fill方法

Fill(DataSet)   创建名位Table的数据表,并用数据源返回的行填充它
Fill(DataTable) 用数据源返回的行填充指定的数据表
Fill(DataSet,tableName) 在指定的数据集里,用数据源返回的行填充名为tableName的数据表
Fill(DataTable,DataReader) 使用指定的DataReader填充数据表
Fill(DataTable,command,CommandBeheavior) 使用命令中传递的SQL字符串和指定的CommandBeheavior填充数据表
Fill(DataSet,startRecord,maxRecords,tableName) 在指定的数据集中,填充名为tableName的数据表,填充从startRecord开始,持续到maxRecords或直到结果集的末尾结束
Fill(DataSet,tableName,DataReader,startRecord,maxRecords) 在指定数据集中,使用指定的DataReader填充名为tableName的数据表,填充从startRecord开始,持续到maxRecords或直到结果集的末尾结束
Fill(DataSet,startRecord,maxRecords,tableName,command,CommandBeheavior) 在指定数据集中,使用指定的DataReader填充名为tableName的数据表,填充从startRecord开始,持续到maxRecords或直到结果集的末尾结束


OleDbDataAdapter还支持另外2种Fill方法
Fill(DataTable,adoObject) 用来自ADO记录集或来自adoObject中指定的Record对象的行填充指定的数据表
Fill(DataSet,adoObject,tableName) 用来自ADO记录集或来自adoObject中指定的Record对象的行填充指定的数据表,该数据表有tableName字符串指定,它将决定tableMappings

要点:SQL Server中的十进制数据类型最大允许38位,而.NET框架中的十进制数据类型最大允许28位。若SQL表中某一行的十进制字段超过28位,则数据行将不会被添加到数据集中,且会引发FillError。

原创粉丝点击