DataSet 类 (二) 读取数据

来源:互联网 发布:数据评估方法 编辑:程序博客网 时间:2024/06/05 02:01

使用方法

1、创建DataSet对象

DataSet ds = new DataSet();

DataSet ds = new DataSet("DataSetName");

2、用数据集填充DataSet

最常用的是DataAdapter对象的Fill()方法给他填充数据

1

DataSet ds = new DataSet();

SqlDataAdapter adapt = new SqlDataAdapter(sqlcmd,con)

adapt.Fill(ds,"mytest");

2

DataSet ds=new DataSet();

DataTable dt=new DataTable("newTable");

ds.Tables.Add(dt);

3

DataSet ds=new DataSet();

DataTable dt=ds.Tables.Add("newTable");

3、访问DataSet中的表、行和列 值

1访问每个 DataTable

按表名访问:ds.Tables["mytest"] //指定DataTable对象mytest(即访问DataSet中名为mytestDataTable

按索引(索引基于0的)访问:ds.Tables[0] //指定DataSet中的第一个DataTable

2访问DataTable中的行

ds.Tables["mytest"].Rows[n] //访问mytest表 的第n+1行(行的索引是从0开始的)

ds.Tables[i].Rows[n] //访问DataSet中的第i+1DataTable 的第n+1列(列的索引是从0开始的)

3访问DataTable中的某个元素

ds.Tables["mytest"].Rows[n][m] //访问mytest表的第n+1行第m+1列的元素

ds.Tables[i].Rows[n][m] //访问DataSet中的第i+1DataTable 表的第n+1行第m+1列的元素

ds.Tables["mytest"].Rows[n][name] //访问mytest表的第n+1name列的元素

ds.Tables[i].Rows[n][name] //访问DataSet中的第i+1DataTable 表的第n+1name列的元素

4DataTable中的列名

ds.Tables["mytest"].Columns[n] //取出mytest表的n+1列列名

ds.Tables[i].Columns[n]

4、实例

using System;using System.Collections.Generic;using System.Text;using System.Data.SqlClient;using System.Data;namespace sqlconnection1{class Program{private void SQLConnectionF(string source, string select){//创建连接SqlConnection con = new SqlConnection(source);SqlDataAdapter adapt = new SqlDataAdapter(select,con);try{con.Open();Console.WriteLine("connection is successful!");}catch (Exception e){Console.WriteLine("connection error is :{0}", e.ToString());}//创建DataSetDataSet ds = new DataSet();//将数据添加到DataSet中adapt.Fill(ds,"mytest");//取出mytest表各列名Console.WriteLine("{0,-15} {1,-10} {2,-10}",ds.Tables["mytest"].Columns[0],ds.Tables["mytest"].Columns[1],ds.Tables["mytest"].Columns[2]);//输出mytest表中第六行DataRow row1 = ds.Tables["mytest"].Rows[5];Console.WriteLine("{0,-15} {1,-10} {2,-10}",row1[0],row1[1],row1[2]);//输出mytest表中第五行的第二列的值DataRow row2 = ds.Tables["mytest"].Rows[4];Console.WriteLine(" {0,-25} ", row2[1]);//下列两种方法等效都等同于row2[1](即第五行的第二列的值)Console.WriteLine(" {0,-25} ", ds.Tables["mytest"].Rows[4][1]);Console.WriteLine(" {0,-25} ", ds.Tables["mytest"].Rows[4]["number"]);//输出DataSet中的所有数据foreach (DataRow row in ds.Tables["mytest"].Rows){Console.WriteLine("{0,-15} {1,-10} {2,-10} {3}",row["name"] ,row["number"] , row["low"] , row["high"]);//取第三列的值Console.WriteLine("{0,-15} ", row[3]);}Console.ReadLine();con.Close();}static void Main(string[] args){string sou = "server=duanyf//SQLEXPRESS;" + "Initial Catalog=master;" + "UID = sa;" + "Password = dyf123";string sel = "SELECT name,number,low,high From dbo.spt_values";Program sqlcon = new Program();sqlcon.SQLConnectionF(sou, sel);}}}


原创粉丝点击