dataset-0

问题描述:DataSet数据集的用法 大家好,小编为大家解答一个有趣的事情的问题。很多人还不知道一个有趣的事情,现在让我们一起来看看吧!

dataset的结构

dataset-0的相关图片

使用方法

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 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());。

//创建DataSet

DataSet 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);。

C#里的DataSet到底是干什么用的,怎么用?哪位高手帮我讲解讲解,谢谢啦!的相关图片

C#里的DataSet到底是干什么用的,怎么用?哪位高手帮我讲解讲解,谢谢啦!

定义DataSet架构的四种方法:

1.直接使用DataSet API来创建DataTable ,DataColumn,DataRelation。

部分实例代码: //方法一:使用DataSet API。

DataSet ds = new DataSet();。

DataTable stu_tb = new DataTable(“Student“);。

ds.Tables.Add(stu_tb);。

ds.Tables[0].Columns.Add(“stuID“, typeof(int));。

ds.Tables[0].Columns.Add(“stuName“, typeof(string));。

ds.Tables[0].Columns.Add(“stuNum“,typeof (string));。

/*---创建另一个具体信息表---- */。

ds.Tables.Add(“StuInfo“);。

ds.Tables[1].Columns.Add(“stuNum“,typeof (string ));。

ds.Tables[1].Columns.Add(“phone“,typeof (string ));。

ds.Tables[1].Columns.Add(“address“,typeof (string));。

ds.Tables[1].Columns.Add(“Major“,typeof (string ));。

/*---两表建立关联---*/。

ds.Relations.Add(ds.Tables[0].Columns[“stuNum“], ds.Tables[1].Columns[“stuNum“]);。

2.通过一个DataAdapter类,使用数据库元数据来推断出架构。

部分实例代码:

DataSet ds;

SqlDataAdapter sdr=new SqlDataA。

如何在DataSet同一表内,添加新的列?的相关图片

如何在DataSet同一表内,添加新的列?

1.DataSet 是DataTable的集合,通过dataSet1.Tables[index] 方式得到DataTable。

2.DataSet 及DataTable均存在与内存。

3.DataSet中的DataTable可以只有一个,也可以有多个,多个之间可以有关系也可以没有关系相互独立;

4.DataTable可以通过dataSet1.Tables.Add加入到DataSet中,但此DataTable必须通过copy的方式加入,如:

DataTable dt1=new DataTable();。

DataSet ds=new DataSet();。

ds.Tables.Add(dt1);//错误。

ds.Tables.Add(dt1.Copy());//正确。

5.SqlDataAdapter可以填充DataSet也可以填充DataTable,根据实际需要,如sql查询的是返回多个记录集则用DataSet,单个记录集用DataSet和DataTable均可,只是通过dataSet1.Tables[0]转DataTable。

6.DataTable可以设置pk,DataSet中的Table可以设置relation。

如何对dataset做一下过滤操作的相关图片

如何对dataset做一下过滤操作

在表中列和行的添加和删除

本节主要介绍DataColumn对象和DataRow对象,通过它们来说明在表中列与行的添加和删除。它们均不能单独存在,而是作为DataTable集合的两个元素存在。下面通过代码进行说明。

DataTable dt = new DataTable("t1");DataColumn dc = new DataColumn();dc.DataType = System.Type.GetType("System.String");dc.ColumnName = "Name";dt.Columns.Add(dc);DataRow dr; dr= dt.NewRow();dr["Name"] = "weiyi";dt.Rows.Add(dr);dr = dt.NewRow();dr["Name"] = "lirong";dt.Rows.Add(dr);dt.Rows.RemoveAt(0);dt.Columns.RemoveAt(0); 。

以上代码主要实现为创建完毕的DataTable添加一个“Name”列,并为该列的前两行分别添加元素。

代码解释如下所述。

首先是创建DataTable对象。

DataTable dt = new DataTable("t1");。

然后创建DataColumn对象,并设置列名和列的类型,接着将列添加到DataTable中,如下所示。

DataColumn dc = new DataColumn(); //创建列对象dc.DataType = System.Type.GetType("System.String"); //设置列的类型dc.ColumnName = "Name"; //设置列名 dt.Columns.Add(dc); //将列添加到DataTable中 。

创建完列后,应该为列进行赋值,这时需要用到DataRow对象,如下所示。

DataRow dr = dt.NewRow();。

这里NewRow()表示表的新行,然后分别添加了两个行元素,最后还应该将新添加的行添加到DataTable中,如下所示。

dr["Name"] = "weiyi";dt.Rows.Add(dr);dr = dt.NewRow();dr["Name"] = "lirong";dt.Rows.Add(dr); 。

行与列的删除和DataTable一样,同样支持三种方法,如下所示。

dt.Rows.Clear(); //删除所有行dt.Rows.RemoveAt(0); //删除第一行 dt.Rows.Remove(row); //删除指定行dt.Columns.Clear(); //删除所有列 dt.Columns.RemoveAt(0); //删除第一列dt.Columns.Remove(column); //删除指定列。

如何获取DataSet中数据

如何对dataset做一下过滤操作?

我查询出来的有一列datacode 。

会有: 

20060205 

2006-5-6 

2006/5/6 

这样的数据,我想在绑定之前在dataset里面把日期大于某个日期的数值去掉,请问怎么写阿?

------解决方案--------------------。

查询的时候在命令里处理啊 

填充DATASET之前 

------解决方案--------------------。

用DataTable的Select 。

------解决方案--------------------。

DataView dataView = new DataView( 你DataSet里的表(如:dataset.Table[0]) ); 。

dataView .RowFilter = String.Format( 过滤条件 (如: "datediff(d,datacode,getdate()) ")); 。

GridView1.DataSource = dataView ; 。

GridView1.DataBind( ); 。

没测试,只可参考!! 

------解决方案--------------------。

根据你的情况决定是否使用String.Format()方法 。

------解决方案--------------------。

有一个概念你要澄清,你要进行过滤的是DataTable,而并非DataSet 。

dt是原DataTable 

where是查询字符串 

order是排序字符串 

DataRow[] drs=dt.Select(where,order); 。

DataTable dt2=dt.Copy(); 。

dt2.Rows.Clear(); 。

foreach(DataRow row in drs) 。

DataRow row2=dt2.NewRow(); 。

for(int i=0;i <row2.Table.Columns.Count;i++) 。

row2[i]=row[i]; 。

dt2.Rows.Add(row2); 。

return dt2; 

------解决方案--------------------。

用DataView .RowFilter( "条件 "); 。

------解决方案--------------------。

DataTable dt = dSet.Table[0]; //dSet你的数据集 。

string myDate = "2006-08-11 "; 。

DataRow[] dRows = dt.Select( " datacode < "+myDate); 。

DataTable dtNew = dt.Copy(); 。

foreach(DataRow dr in dRows) 。

dtNew.Rows.Add(dr); 。

dSet = new DataSet(); 。

dSet.Table.Add(dtNew); 。

//数据绑定.dSet 

------解决方案--------------------。

dataview就行,上面有例子 。

------解决方案--------------------。

查询之前就过滤掉不好么? 

------解决方案--------------------。

为啥不在查询 之前过滤呀 

------解决方案--------------------。

先在datatable里面把日期格式转换成标准格式 。

例如2006/5/6用split拆分,用0填充,然后组成20060506 。

然后用上面的filter过滤就好 。

------解决方案--------------------。

使用dataView 的过滤功能 。

------解决方案--------------------。

DataView rowfilter 。

DataView dv = DataSet.Tables[0].DefaultView。

原文地址:http://www.qianchusai.com/dataset-0.html

三年级上册日记100字大全,三年级上册日记100字大全3个自然段

三年级上册日记100字大全,三年级上册日记100字大全3个自然段

我是一只小鸟写作,我是一只小鸟写一篇作文300字

我是一只小鸟写作,我是一只小鸟写一篇作文300字

二年级150字写话,二年级写话范文大全150字

二年级150字写话,二年级写话范文大全150字

cc/中二病也要谈恋爱合照,中二病也要谈恋爱人物大全

cc/中二病也要谈恋爱合照,中二病也要谈恋爱人物大全

三年级作文开头,三年级作文开头和结尾摘抄大全

三年级作文开头,三年级作文开头和结尾摘抄大全

lw/做人吗最重要的是开心,做人嘛最重要的就是开心是哪位英雄说的

lw/做人吗最重要的是开心,做人嘛最重要的就是开心是哪位英雄说的

关于华为科技创新作文,关于华为科技创新的作文素材

关于华为科技创新作文,关于华为科技创新的作文素材

两岁宝宝适合养什么动物,两岁宝宝适合养什么动物呢

两岁宝宝适合养什么动物,两岁宝宝适合养什么动物呢

以朋友为话题写一篇记叙文,以朋友为话题写一篇记叙文450字

以朋友为话题写一篇记叙文,以朋友为话题写一篇记叙文450字

人教版九下英语短语,人教版九年级下册英语短语归纳

人教版九下英语短语,人教版九年级下册英语短语归纳