使用数据适配器填充数据表
View Code
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.SqlClient;namespace PopDataTable {class Program{static void Main(string[] args){string connString = @"server =.;integrated security =true;database =northwind";string sql = @"select productname,unitprice fromproducts where unitprice<20";SqlConnection conn = new SqlConnection(connString);try{conn.Open();SqlDataAdapter da = new SqlDataAdapter(sql, conn);DataTable dt = new DataTable();da.Fill(dt);foreach (DataRow row in dt.Rows){foreach (DataColumn col in dt.Columns)Console.WriteLine(row[col]);Console.WriteLine("".PadLeft(20, '='));}}catch (Exception e){Console.WriteLine("Error: " + e);}finally{conn.Close();}Console.ReadKey();}} }
示例说明
本示例中没有创建数据集
DataSet ds = new DataSet();
而是创建了一个数据表:
DataTable dt=new DataTable();
并且没有填充数据集:
da.Fill(ds,"products");
而是填充了数据表
da.Fill(dt);
因为数据表只可以保存一个表,所以需要注意Fill方法没有接受数据表名作为参数。由于不需要在数据集中查找特定的数据表,因此不需要如下代码:
dataTable dt=ds.Tables["products"];
提示:除非确实需要在数据庥中组织数据表以定义它们之间的关系,否则使用一个或多个数据表而不是一个或多个数据集更容易编写代码,并且占用较少的运行资源。