C#數據庫編程中SqlDataAdapter與DataSet的區別
SqlDataAdapter 是DataSet 和SQL Server 之間的橋接器,用于檢索和保存數據。SqlDataAdapter 通過對數據源使用適當的 Transact-SQL 語句映射 Fill(它可更改 DataSet 中的數據以匹配數據源中的數據)和 Update(它可更改數據源中的數據以匹配 DataSet 中的數據)來提供這一橋接。
當SqlDataAdapter 填充 DataSet 時,它將為返回的數據創建必要的表和列(如果它們尚不存在)。但是,除非 MissingSchemaAction 屬性設置為 AddWithKey,否則這個隱式創建的架構中就將不包括主鍵信息。也可以在使用 FillSchema 為數據集填充數據前,讓 SqlDataAdapter 創建 DataSet 的架構(包括主鍵信息)。有關更多信息,請參見向 DataSet 添加現有約束。
SqlDataAdapter 與SqlConnection 和SqlCommand一起使用,以便在連接到Microsoft SQL Server 數據庫時提高性能。
SqlDataAdapter 還包括 SelectCommand、InsertCommand、DeleteCommand、UpdateCommand 和 TableMappings 屬性,使C#數據庫編程中的數據加載和更新更加方便。
C#數據庫編程示例
以下C#數據庫編程示例使用 SqlCommand、SqlDataAdapter 和 SqlConnection,從數據庫選擇記錄,并用選定的行填充 DataSet。然后返回已填充的 DataSet。為完成此任務,向該方法傳遞一個已初始化的 DataSet、一個連接字符串和一個查詢字符串,后者是一個 Transact-SQL SELECT 語句。
- public DataSet SelectSqlSrvRows(DataSet dataset,string connection,string query)
- {
- SqlConnection conn = new SqlConnection(connection);
- SqlDataAdapter adapter = new SqlDataAdapter();
- adapter.SelectCommand = new SqlCommand(query, conn);
- adapter.Fill(dataset);
- return dataset;
- }
【編輯推薦】