以下代码阐明了如何使用 SqlDataAdapter 对象发出可生成 DataSet 或 DataTable 的命令它从 SQL Server Northwind 数据库中检索一组产品类别
using SystemData;
using SystemDataSqlClient;
public DataTable RetrieveRowsWithDataTable()
{
using ( SqlConnection conn = new SqlConnection(connectionString) )
{
connOpen();
SqlCommand cmd = new SqlCommand(DATRetrieveProducts conn);
cmdCommandType = CommandTypeStoredProcedure;
SqlDataAdapter adapter = new SqlDataAdapter( cmd );
DataTable dataTable = new DataTable(Products);
adapter Fill(dataTable);
return dataTable;
}
}
使用 SqlAdapter 生成 DataSet 或 DataTable
创建一个 SqlCommand 对象以调用该存储过程并将其与一个 SqlConnection 对象(显示)或连接字符串(不显示)相关联
创建一个新的 SqlDataAdapter 对象并将其与 SqlCommand 对象相关联
创建一个 DataTable(也可以创建一个 DataSet)对象使用构造函数参数来命名 DataTable
调用 SqlDataAdapter 对象的 Fill 方法用检索到的行填充 DataSet 或 DataTable
如何使用 SqlDataReader 来检索多个行以下代码片段阐明了可检索多个行的 SqlDataReader 方法
using SystemIO;
using SystemData;
using SystemDataSqlClient;
public SqlDataReader RetrieveRowsWithDataReader()
{
SqlConnection conn = new SqlConnection(
server=(local);Integrated Security=SSPI;database=northwind);
SqlCommand cmd = new SqlCommand(DATRetrieveProducts conn );
cmdCommandType = CommandTypeStoredProcedure;
try
{
connOpen();
// Generate the reader CommandBehaviorCloseConnection causes the
// the connection to be closed when the reader object is closed
return( cmdExecuteReader( CommandBehaviorCloseConnection ) );
}
catch
{
connClose();
throw;
}
}
// Display the product list using the console
private void DisplayProducts()
{
SqlDataReader reader = RetrieveRowsWithDataReader();
try
{
while (readerRead())
{
ConsoleWriteLine({} {} {}
readerGetInt()ToString()
readerGetString() );
}
[] [] [] [] [] [] [] [] []