问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

DataSet数据集的用法

发布网友 发布时间:2022-04-29 16:58

我来回答

4个回答

懂视网 时间:2022-04-08 22:22

void Button_Click_1(object sender, RoutedEventArgs e) { //非链接方式访问数据库, //1创建连接对象(连接字符串) using (SqlConnection conn = new SqlConnection(SQLHelper.ConnectionString)) { //2.创建数据适配器对象 using (SqlDataAdapter sda = new SqlDataAdapter("select * from Student",conn)) { //3.打开数据库连接(这一步其实可以省略) conn.Open(); DataSet ds=new DataSet(); //4.发送命令 sda.Fill(ds); //5.关闭连接 //备注:因为这里使用了using代码块,连接的关闭步骤可以省去 DataRowCollection drCollection = ds.Tables[0].Rows; for (int i = 0; i < drCollection.Count; i++) { DataRow dr=drCollection[i]; MessageBox.Show(dr["s_Name"].ToString()); } } } }

 注意:dataset是占内存的,我们查询你的数据有多少,就占多少内存。

非链接方式访问数据库--查询的数据集用Dataset来存储。

标签:

热心网友 时间:2022-04-08 19:30

使用方法
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=anyf\\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);
}
}
}

热心网友 时间:2022-04-08 20:48

dataset可以看成是内存中的数据库,从数据库中读取的数据可以放在它里面,可以使用数据适配器将从数据库中选取出来的数据填充到dataset里头:
DataSet myset = new DataSet();//实例化数据集
SqlDataAdapter a = new SqlDataAdapter(查询语句,连接对象);
//声明数据适配器
myset.Clear();//数据集清空
a.Fill(myset, "Admin_list");//将查询的Admin_list表填充到数据集对象

热心网友 时间:2022-04-08 22:23

da.Update(ds);你把这句改成 da.Update(ds,"student");试试~
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 大家知道附近桶装水送水配送吗? 桶装水的水票什么意思 桶装水发票需要明细吗? 要一份办公室饮水机桶装水的申请报告,谢谢急~!!!在线等~!!! 给办公室购买饮用水送桶人员单子上的欠桶数是什么意思?怎么算?不太明白 各位大哥大姐们好,请问桶装水配送的出入库和回收桶的流程报表怎么写,急用,谢谢,请帮帮我吧 桶装水报价单怎样打 杀戮尖塔 显示问题 进不去闪退解决方法 杀戮尖塔闪退怎么办 杀戮尖塔一直杀退打不开 杀戮尖塔 一局 时间 杀戮尖塔鼠标拉不到下面 我要开一个农村电商服务中心是怎样开 怎么申请农村电商 就怕大众带字母前一句是什么? 大众途锐哪款车最值得入手?这里有一份详细的购车手册 大众车白色会变黄吗 肩宽40cm 可以穿多少厘米肩宽的衣服 大众什么车最贵?值得购买么? 肩宽43厘米落肩衣服适合穿多少厘米的? dataset数据集 DataTable和DataSet有什么区别 如何用dataset数据集连接mysql数据库 数据集(DataSet)是否能够在断开与数据源连接的情况下工作 在asp.net中如何将DataSet类型的数据集转换为List类型 简述DATASET的结构 dataset是什么意思 ASP.NET中的DataSet数据集所占用的内存什么时候会释放? 数据集DATASET中如何更新数据? 说出十个或以上,中国古代神话故事!要四个字的 C#里的DataSet到底是干什么用的,怎么用?哪位高手帮我讲解讲解,谢谢啦... 强类型数据集DataSet使用问题 C#之 DataReader 和 DataSet 的区别 关于dataset 一行多列的DataSet数据集如何转换为数组 vs2010怎么创建数据集?就是dataset c#中DataSet数据集中可以存放多个数据库吗 dataset和datatable的区别 哈尔滨去哪买冬季鞋 哈尔滨什么地方的男鞋口碑比较好?