SqlDataAdapter(转)

上一篇 / 下一篇  2011-11-02 11:44:36 / 个人分类:SQL

SqlDataAdapter

表示用于填充DataSet和更新SQL Server数据库的一组数据命令和一个数据库连接。无法继承此类。

命名空间:System.Data.SqlClient
程序集:System.Data(在system.data.dll中)

SqlDataAdapterDataSetSQL Server之间的桥接器,用于检索和保存数据。SqlDataAdapter通过对数据源使用适当的Transact-SQL语句映射Fill(它可更改DataSet中的数据以匹配数据源中的数据)和Update(它可更改数据源中的数据以匹配DataSet中的数据)来提供这一桥接。

SqlDataAdapter填充DataSet时,它为返回的数据创建必需的表和列(如果这些表和列尚不存在)。但是,除非MissingSchemaAction属性设置为AddWithKey,否则这个隐式创建的架构中不包括主键信息。也可以使用FillSchema,让SqlDataAdapter创建DataSet的架构,并在用数据填充它之前就将主键信息包括进去。有关更多信息,请参见DataSet添加现有约束

SqlDataAdapterSqlConnectionSqlCommand一起使用,以便在连接到SQL Server数据库时提高性能。

SqlDataAdapter还包括SelectCommandInsertCommandDeleteCommandUpdateCommandTableMappings属性,以便于数据的加载和更新。

当创建SqlDataAdapter的实例时,读/写属性将被设置为初始值。有关这些值的列表,请参见SqlDataAdapter构造函数。

下面的示例使用SqlCommandSqlDataAdapterSqlConnection从数据库中选择记录,并用选定的行填充DataSet。然后返回已填充的DataSet。为完成此任务,向该方法传递一个已初始化的DataSet、一个连接字符串和一个查询字符串,后者是一个Transact-SQL SELECT语句。

privatestaticDataSet SelectRows(DataSet dataset,

stringconnectionString,stringqueryString)

{

   using(SqlConnection connection = newSqlConnection(connectionString))

   {

       SqlDataAdapter adapter =newSqlDataAdapter();

       adapter.SelectCommand =newSqlCommand(queryString, connection);

       adapter.Fill(dataset);//填充dataset

       returndataset;//返回已填充的dataset

   }

}

下面的示例创建一个SqlConnection、一个SqlCommand和一个SqlDataReader。该示例读取所有数据,并将其写到控制台。最后,该示例先关闭SqlDataReader,然后关闭SqlConnection

privatestaticvoidReadOrderData(stringconnectionString)

{

   stringqueryString ="SELECT OrderID, CustomerID FROM dbo.Orders;";//连接字符串

   using(SqlConnection connection =newSqlConnection(connectionString))//创建sqlconnection

   {

       SqlCommand command =newSqlCommand(queryString, connection);//执行querystring

       connection.Open();

       SqlDataReader reader = command.ExecuteReader();

       try

       {

           while(reader.Read())

           {

               Console.WriteLine(String.Format("{0}, {1}",reader[0], reader[1]));

           }

       }

       finally

       {

           // Always call Close when done reading.

           reader.Close();

       }

   }

}

 


TAG:

 

评分:0

我来说两句

Open Toolbar