天天看點

169.C# SqlDataAdapter 應用

作者:數字雙碳王亮

摘要

SqlDataAdapter對象通過無連接配接的方式完成資料庫和本地DataSet之間的互動。 ADO.NET SqlDataAdapter對象通過SelectCommand、InsertCommand、UpdateCommand和 DeleteCommand屬性為背景資料庫提供對應的操作指令,并傳遞需要的參數。一般情況下,隻需要提供SELECT語句和連接配接字元串建立 SqlDataAdapter對象,然後利用SqlCommandBuilder對象生成InsertCommand、UpdateCommand和DeleteCommand屬性。

169.C# SqlDataAdapter 應用

正文

string sql = "select * from wms_material where mlfb like '%" + txtSearch.Text + "%'";
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand(sql, connection);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(ds);	           
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;//列寬根據列内容自适應,此時保證列内容都可見。
}           

填充到ListView

屬性

AcceptChangesDuringFill 擷取或設定一個值,該值訓示在任何 Fill 操作過程中,在将 AcceptChanges() 添加到 DataRow 之後是否在 DataTable 上調用它。<br><br>(繼承自 DataAdapter)
AcceptChangesDuringUpdate 擷取或設定在 AcceptChanges() 期間是否調用 Update(DataSet)。<br><br>(繼承自 DataAdapter)
CanRaiseEvents 擷取一個訓示元件是否可以引發事件的值。<br><br>(繼承自 Component)
Container 擷取包含 IContainer 的 Component。<br><br>(繼承自 Component)
ContinueUpdateOnError 擷取或設定一個值,該值指定在行更新過程中遇到錯誤時是否生成異常。<br><br>(繼承自 DataAdapter)
DeleteCommand 擷取或設定一個 Transact-SQL 語句或存儲過程,以從資料集删除記錄。
DesignMode 擷取一個值,用以訓示 Component 目前是否處于設計模式。<br><br>(繼承自 Component)
Events 擷取附加到此 Component 的事件處理程式的清單。<br><br>(繼承自 Component)
FillCommandBehavior 擷取或設定用于填充資料擴充卡的指令的行為。<br><br>(繼承自 DbDataAdapter)
FillLoadOption 擷取或設定 LoadOption,後者确定擴充卡如何從 DataTable 中填充 DbDataReader。<br><br>(繼承自 DataAdapter)
InsertCommand 擷取或設定一個 Transact-SQL 語句或存儲過程,以在資料源中插入新記錄。
MissingMappingAction 确定傳入資料沒有比對的表或列時需要執行的操作。<br><br>(繼承自 DataAdapter)
MissingSchemaAction 确定現有 DataSet 架構與傳入資料不比對時需要執行的操作。<br><br>(繼承自 DataAdapter)
ReturnProviderSpecificTypes 擷取或設定 Fill 方法是應當傳回提供程式特定的值,還是傳回公用的符合 CLS 的值。<br><br>(繼承自 DataAdapter)
SelectCommand 擷取或設定一個 Transact-SQL 語句或存儲過程,用于在資料源中選擇記錄。
Site 擷取或設定 Component 的 ISite。<br><br>(繼承自 Component)
TableMappings 擷取一個集合,該集合提供源表和 a DataTable.<br><br>(繼承自 DataAdapter)
UpdateBatchSize 擷取或設定每次到伺服器的往返過程中處理的行數。
UpdateCommand 擷取或設定一個 Transact-SQL 語句或存儲過程,用于更新資料源中的記錄。

方法

AddToBatch(IDbCommand) 向目前批處理添加 IDbCommand。<br><br>(繼承自 DbDataAdapter)
ExecuteBatch() 執行目前批處理。<br><br>(繼承自 DbDataAdapter)
Fill(DataSet) 在 DataSet 中添加或重新整理行。<br><br>(繼承自 DbDataAdapter)
Fill(DataSet, Int32, Int32, String) 在 DataSet 的指定範圍中添加或重新整理行以比對使用 DataSet 和 DataTable 名稱的資料源中的行。<br><br>(繼承自 DbDataAdapter)
Fill(DataSet, Int32, Int32, String, IDbCommand, CommandBehavior) 使用 DataSet 和源表名稱、指令字元串以及指令行為,在 DataSet 的指定範圍中添加或重新整理某些行以使它們與資料源中對應的行相一緻。<br><br>(繼承自 DbDataAdapter)
Fill(DataSet, String) 在 DataSet 中添加或重新整理行以比對使用 DataSet 和 DataTable 名稱的資料源中的行。<br><br>(繼承自 DbDataAdapter)
Fill(DataSet, String, IDataReader, Int32, Int32) 在 DataSet 的指定範圍中添加或重新整理行以與使用 DataSet、DataTable 和 IDataReader 名稱的資料源中的行進行比對。<br><br>(繼承自 DbDataAdapter)
Fill(DataTable) 在 DataSet 的指定範圍中添加或重新整理行,以與使用 DataTable 名稱的資料源中的行比對。<br><br>(繼承自 DbDataAdapter)
Fill(DataTable, IDataReader) 在 DataTable 中添加或重新整理行,以與使用指定的 DataTable 和 IDataReader 名稱的資料源中的行比對。<br><br>(繼承自 DbDataAdapter)
Fill(DataTable, IDbCommand, CommandBehavior) 在 DataTable 中添加或重新整理行,以與使用指定的 DataTable、IDbCommand 和 CommandBehavior 的資料源中的行比對。<br><br>(繼承自 DbDataAdapter)
Fill(DataTable[], IDataReader, Int32, Int32) 在 DataTable 對象集合的指定範圍中添加或重新整理行以與資料源中的行比對。<br><br>(繼承自 DataAdapter)
Fill(DataTable[], Int32, Int32, IDbCommand, CommandBehavior) 在 DataSet 的指定範圍中添加或重新整理行以比對使用 DataSet 和 DataTable 名稱的資料源中的行。<br><br>(繼承自 DbDataAdapter)
Fill(Int32, Int32, DataTable[]) 在一個或多個 DataTable 對象中添加或重新整理行,以比對從指定記錄開始的資料源中的行,并檢索最多指定的最大記錄數。<br><br>(繼承自 DbDataAdapter)
FillSchema(DataSet, SchemaType) 将名為“Table”的 DataTable 添加到指定的 DataSet,并根據指定的 SchemaType 配置架構以比對資料源中的架構。<br><br>(繼承自 DbDataAdapter)
FillSchema(DataSet, SchemaType, IDbCommand, String, CommandBehavior) 将 DataTable 添加到指定的 DataSet ,并根據指定的 SchemaType配置架構以比對資料源中的架構。<br><br>(繼承自 DbDataAdapter)
FillSchema(DataSet, SchemaType, String) 将 DataTable 添加到指定的 DataSet 中,并根據指定的 SchemaType 和 DataTable 配置架構以比對資料源中的架構。<br><br>(繼承自 DbDataAdapter)
FillSchema(DataSet, SchemaType, String, IDataReader) 向指定的 DataTable 添加一個 DataSet。<br><br>(繼承自 DataAdapter)
FillSchema(DataTable, SchemaType) 根據指定的 SchemaType 配置指定 DataTable 的架構。<br><br>(繼承自 DbDataAdapter)
FillSchema(DataTable, SchemaType, IDataReader) 向指定的 DataTable 添加一個 DataSet。<br><br>(繼承自 DataAdapter)
FillSchema(DataTable, SchemaType, IDbCommand, CommandBehavior) 根據指定的 DataTable、指令字元串以及 SchemaType 值配置指定 CommandBehavior 的架構。<br><br>(繼承自 DbDataAdapter)
GetBatchedParameter(Int32, Int32) 從目前批進行中的其中一個指令傳回一個 IDataParameter。<br><br>(繼承自 DbDataAdapter)
GetBatchedRecordsAffected(Int32, Int32, Exception) 傳回與較大的批處理更新内的單次更新嘗試有關的資訊。<br><br>(繼承自 DbDataAdapter)
GetFillParameters() 擷取當執行 SQL SELECT 語句時由使用者設定的參數。<br><br>(繼承自 DbDataAdapter)
Update(DataRow[]) 通過為 DataSet 中的指定數組中的每個已插入、已更新或已删除的行執行相應的 INSERT、UPDATE 或 DELETE 語句來更新資料庫中的值。<br><br>(繼承自 DbDataAdapter)
Update(DataRow[], DataTableMapping) 通過為指定的 DataRow 對象數組中的每個已插入、已更新或已删除的行執行相應的 INSERT、UPDATE 或 DELETE 語句來更新資料庫中的值。<br><br>(繼承自 DbDataAdapter)
Update(DataSet) 通過為指定的 DataSet 中的每個已插入、已更新或已删除的行執行相應的 INSERT、UPDATE 或 DELETE 語句來更新資料庫中的值。<br><br>(繼承自 DbDataAdapter)
Update(DataSet, String) 通過為具有指定名稱 DataSet 的 DataTable 中的每個已插入、已更新或已删除的行執行相應的 INSERT、UPDATE 或 DELETE 語句來更新資料庫中的值。<br><br>(繼承自 DbDataAdapter)
Update(DataTable) 通過為指定的 DataTable 中的每個已插入、已更新或已删除的行執行相應的 INSERT、UPDATE 或 DELETE 語句來更新資料庫中的值。<br><br>(繼承自 DbDataAdapter)

繼續閱讀