编辑
2025-09-22
C#
00

目录

摘要
正文

摘要

SqlDataAdapter对象通过无连接的方式完成数据库和本地DataSet之间的交互。 ADO.NET SqlDataAdapter对象通过SelectCommand、InsertCommand、UpdateCommand和 DeleteCommand属性为后台数据库提供对应的操作命令,并传递需要的参数。一般情况下,只需要提供SELECT语句和连接字符串创建 SqlDataAdapter对象,然后利用SqlCommandBuilder对象生成InsertCommand、UpdateCommand和DeleteCommand属性。

正文

C#
// 定义一个SQL查询字符串,用于从wms_material表中选择所有列,其中mlfb列的值包含用户输入的文本(txtSearch.Text) string sql = "select * from wms_material where mlfb like '%" + txtSearch.Text + "%'"; // 创建一个新的DataSet对象,用于存储从数据库查询返回的数据 DataSet ds = new DataSet(); // 创建一个SqlCommand对象,用于执行上面定义的SQL查询 // 这里假设已经有一个名为connection的数据库连接对象 SqlCommand cmd = new SqlCommand(sql, connection); // 创建一个SqlDataAdapter对象,用于执行SqlCommand // SqlDataAdapter能够在DataSet和数据库之间建立桥梁,用于填充DataSet SqlDataAdapter adapter = new SqlDataAdapter(cmd); // 使用SqlDataAdapter对象的Fill方法,将查询结果填充到DataSet对象ds中 adapter.Fill(ds);

这段代码展示了如何使用ADO.NET从数据库查询数据并将结果填充到一个DataSet对象中。需要注意的是,这段代码直接将用户输入(txtSearch.Text)拼接到SQL查询中,这可能导致SQL注入攻击。在实际开发中,建议使用参数化查询来避免这种安全风险。

C#
private void loadView(DataSet ds) { lsvMain.Items.Clear(); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { ListViewItem item = new ListViewItem(ds.Tables[0].Rows[i]["material_no"].ToString()); item.Tag = ds.Tables[0].Rows[i]["id"].ToString(); item.SubItems.Add(ds.Tables[0].Rows[i]["mlfb"].ToString()); item.SubItems.Add(ds.Tables[0].Rows[i]["repair_type"].ToString()); item.SubItems.Add(ds.Tables[0].Rows[i]["location"].ToString()); item.SubItems.Add(ds.Tables[0].Rows[i]["qty"].ToString()); item.SubItems.Add(ds.Tables[0].Rows[i]["actual_qty"].ToString()); item.SubItems.Add(ds.Tables[0].Rows[i]["description"].ToString()); lsvMain.Items.Add(item); } lsvMain.Columns[0].Width = -2;//列宽根据列标题自适应,此时保证列标题可见。 lsvMain.Columns[2].Width = -2;//列宽根据列标题自适应,此时保证列标题可见。 lsvMain.Columns[6].Width = -1;//列宽根据列内容自适应,此时保证列内容都可见。 }

属性

AcceptChangesDuringFill获取或设置一个值,该值指示在任何 Fill 操作过程中,在将 AcceptChanges() 添加到 DataRow 之后是否在 DataTable 上调用它。 (继承自 DataAdapter)
AcceptChangesDuringUpdate获取或设置在 AcceptChanges() 期间是否调用 Update(DataSet)。 (继承自 DataAdapter)
CanRaiseEvents获取一个指示组件是否可以引发事件的值。 (继承自 Component)
Container获取包含 IContainerComponent。 (继承自 Component)
ContinueUpdateOnError获取或设置一个值,该值指定在行更新过程中遇到错误时是否生成异常。 (继承自 DataAdapter)
DeleteCommand获取或设置一个 Transact-SQL 语句或存储过程,以从数据集删除记录。
DesignMode获取一个值,用以指示 Component 当前是否处于设计模式。 (继承自 Component)
Events获取附加到此 Component 的事件处理程序的列表。 (继承自 Component)
FillCommandBehavior获取或设置用于填充数据适配器的命令的行为。 (继承自 DbDataAdapter)
FillLoadOption获取或设置 LoadOption,后者确定适配器如何从 DataTable 中填充 DbDataReader。 (继承自 DataAdapter)
InsertCommand获取或设置一个 Transact-SQL 语句或存储过程,以在数据源中插入新记录。
MissingMappingAction确定传入数据没有匹配的表或列时需要执行的操作。 (继承自 DataAdapter)
MissingSchemaAction确定现有 DataSet 架构与传入数据不匹配时需要执行的操作。 (继承自 DataAdapter)
ReturnProviderSpecificTypes获取或设置 Fill 方法是应当返回提供程序特定的值,还是返回公用的符合 CLS 的值。 (继承自 DataAdapter)
SelectCommand获取或设置一个 Transact-SQL 语句或存储过程,用于在数据源中选择记录。
Site获取或设置 ComponentISite。 (继承自 Component)
TableMappings获取一个集合,该集合提供源表和 a DataTable. (继承自 DataAdapter)
UpdateBatchSize获取或设置每次到服务器的往返过程中处理的行数。
UpdateCommand获取或设置一个 Transact-SQL 语句或存储过程,用于更新数据源中的记录。

方法

AddToBatch(IDbCommand)向当前批处理添加 IDbCommand。 (继承自 DbDataAdapter)
ExecuteBatch()执行当前批处理。 (继承自 DbDataAdapter)
Fill(DataSet)DataSet 中添加或刷新行。 (继承自 DbDataAdapter)
Fill(DataSet, Int32, Int32, String)DataSet 的指定范围中添加或刷新行以匹配使用 DataSetDataTable 名称的数据源中的行。 (继承自 DbDataAdapter)
Fill(DataSet, Int32, Int32, String, IDbCommand, CommandBehavior)使用 DataSet 和源表名称、命令字符串以及命令行为,在 DataSet 的指定范围中添加或刷新某些行以使它们与数据源中对应的行相一致。 (继承自 DbDataAdapter)
Fill(DataSet, String)DataSet 中添加或刷新行以匹配使用 DataSetDataTable 名称的数据源中的行。 (继承自 DbDataAdapter)
Fill(DataSet, String, IDataReader, Int32, Int32)DataSet 的指定范围中添加或刷新行以与使用 DataSetDataTableIDataReader 名称的数据源中的行进行匹配。 (继承自 DbDataAdapter)
Fill(DataTable)DataSet 的指定范围中添加或刷新行,以与使用 DataTable 名称的数据源中的行匹配。 (继承自 DbDataAdapter)
Fill(DataTable, IDataReader)DataTable 中添加或刷新行,以与使用指定的 DataTableIDataReader 名称的数据源中的行匹配。 (继承自 DbDataAdapter)
Fill(DataTable, IDbCommand, CommandBehavior)DataTable 中添加或刷新行,以与使用指定的 DataTableIDbCommandCommandBehavior 的数据源中的行匹配。 (继承自 DbDataAdapter)
Fill(DataTable[], IDataReader, Int32, Int32)DataTable 对象集合的指定范围中添加或刷新行以与数据源中的行匹配。 (继承自 DataAdapter)
Fill(DataTable[], Int32, Int32, IDbCommand, CommandBehavior)DataSet 的指定范围中添加或刷新行以匹配使用 DataSetDataTable 名称的数据源中的行。 (继承自 DbDataAdapter)
Fill(Int32, Int32, DataTable[])在一个或多个 DataTable 对象中添加或刷新行,以匹配从指定记录开始的数据源中的行,并检索最多指定的最大记录数。 (继承自 DbDataAdapter)
FillSchema(DataSet, SchemaType)将名为“Table”的 DataTable 添加到指定的 DataSet,并根据指定的 SchemaType 配置架构以匹配数据源中的架构。 (继承自 DbDataAdapter)
FillSchema(DataSet, SchemaType, IDbCommand, String, CommandBehavior)DataTable 添加到指定的 DataSet ,并根据指定的 SchemaType配置架构以匹配数据源中的架构。 (继承自 DbDataAdapter)
FillSchema(DataSet, SchemaType, String)DataTable 添加到指定的 DataSet 中,并根据指定的 SchemaTypeDataTable 配置架构以匹配数据源中的架构。 (继承自 DbDataAdapter)
FillSchema(DataSet, SchemaType, String, IDataReader)向指定的 DataTable 添加一个 DataSet。 (继承自 DataAdapter)
FillSchema(DataTable, SchemaType)根据指定的 SchemaType 配置指定 DataTable 的架构。 (继承自 DbDataAdapter)
FillSchema(DataTable, SchemaType, IDataReader)向指定的 DataTable 添加一个 DataSet。 (继承自 DataAdapter)
FillSchema(DataTable, SchemaType, IDbCommand, CommandBehavior)根据指定的 DataTable、命令字符串以及 SchemaType 值配置指定 CommandBehavior 的架构。 (继承自 DbDataAdapter)
GetBatchedParameter(Int32, Int32)从当前批处理中的其中一个命令返回一个 IDataParameter。 (继承自 DbDataAdapter)
GetBatchedRecordsAffected(Int32, Int32, Exception)返回与较大的批处理更新内的单次更新尝试有关的信息。 (继承自 DbDataAdapter)
GetFillParameters()获取当执行 SQL SELECT 语句时由用户设置的参数。 (继承自 DbDataAdapter)
Update(DataRow[])通过为 DataSet 中的指定数组中的每个已插入、已更新或已删除的行执行相应的 INSERT、UPDATE 或 DELETE 语句来更新数据库中的值。 (继承自 DbDataAdapter)
Update(DataRow[], DataTableMapping)通过为指定的 DataRow 对象数组中的每个已插入、已更新或已删除的行执行相应的 INSERT、UPDATE 或 DELETE 语句来更新数据库中的值。 (继承自 DbDataAdapter)
Update(DataSet)通过为指定的 DataSet 中的每个已插入、已更新或已删除的行执行相应的 INSERT、UPDATE 或 DELETE 语句来更新数据库中的值。 (继承自 DbDataAdapter)
Update(DataSet, String)通过为具有指定名称 DataSetDataTable 中的每个已插入、已更新或已删除的行执行相应的 INSERT、UPDATE 或 DELETE 语句来更新数据库中的值。 (继承自 DbDataAdapter)
Update(DataTable)通过为指定的 DataTable 中的每个已插入、已更新或已删除的行执行相应的 INSERT、UPDATE 或 DELETE 语句来更新数据库中的值。 (继承自 DbDataAdapter)

本文作者:技术老小子

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!