关于dataset和datareader的区别,dataset这个问题很多朋友还不知道,今天小六来为大家解答以上的问题,现在让我们一起来看看吧!
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中名为mytest的DataTable)按索引(索引基于0的)访问:ds.Tables[0] //指定DataSet中的第一个DataTable(2): 访问DataTable中的行ds.Tables["mytest"].Rows[n] //访问mytest表 的第n+1行(行的索引是从0开始的)ds.Tables[i].Rows[n] //访问DataSet中的第i+1个DataTable 的第n+1列(列的索引是从0开始的)(3): 访问DataTable中的某个元素ds.Tables["mytest"].Rows[n][m] //访问mytest表的第n+1行第m+1列的元素ds.Tables[i].Rows[n][m] //访问DataSet中的第i+1个DataTable 表的第n+1行第m+1列的元素ds.Tables["mytest"].Rows[n][name] //访问mytest表的第n+1行name列的元素ds.Tables[i].Rows[n][name] //访问DataSet中的第i+1个DataTable 表的第n+1行name列的元素(4): 取DataTable中的列名ds.Tables["mytest"].Columns[n] //取出mytest表的n+1列列名ds.Tables[i].Columns[n]4、实例using System;using System.Collections.Generic;using System.Text;using ***.Data.SqlClient;using ***.Data;namespace sqlconnection1{class Program{private void SQLConnectionF(string source, string select){//创建连接SqlConnection con = new SqlConnection(source);SqlDataAdapter adapt = new SqlDataAdapter(select,con);try{***.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);}}}。
本文分享完毕,希望对大家有所帮助。
标签:
免责声明:本文由用户上传,如有侵权请联系删除!