C#

c# 数据集表增删查

using System;
using System.Data;
using System.Data.SqlClient;

namespace program
{
class wangjun
{
static void Main(string[] args)
{
//1.DataSet的Tables集合
//增:
DataSet ds = new DataSet(“wangjun”);
ds.Tables.Add(“person”);
ds.Tables.Add(“books”);

//删 从数据集里删除某个DataTable使用IList接口的Remove和RemoveAt方法
DataSet ds = new DataSet(“wangjun”);
DataTable dtperson = ds.Tables.Add(“person”);
ds.Tables.Remove(dtperson); //从数据集里删除dtperson
ds.Tables.RemoveAt(0); //从数据集里删除索引为0的表,也就是dtperson

//改 数据集里的DataTable只能添加和删除,不能修改

//查 获得数据集里的DataTable,可以使用索引器
DataSet ds = new DataSet(“wangjun”);
ds.Tables.Add(“person”);
datable dt = ds.Tables[0]; //按数字索引获得DataTable
datable dt = ds.Tables[“person”]; //按表名称获得DataTable

//2.DataTable的columns集合
//增 向数据表添加我们在前面也提到过了,添加的方式也是使用IList接口的Add方法,以下是最常用的添加列的方式
dtperson.Columns.Add(“psnNo”,typeof(string));

//删 删除数据表中的列也是使用IList接口的Remove或RomoveAt方法
dtperson.Columns.Remove(“psnNo”); //接列的名称删除列
dtperson.Columns.RemoveAt(0); //按索引删除列,这里是删除第一列

//改 修改DataTable里面的某一列可以通过索引先获得,然后再修改
DataColumn c = dtperson.Columns[“psnName”];
c.AllowDBNull = false;

//查 从DataTable里面获得某一列也是使用索引器的方式
DataColumn c = dtperson.Columns[“psnName”]; //按列名获得该列对象
DataColumn c = dtperson.Columns[0]; //按索引获得该列对象,这里是获得第一列
//下面程序完成遍历person表的各列的列名
foreach (DataColumn dc in ds.Tables[“person”].Columns)
{
Console.WriteLine(“列名:{0}”,dc.ColumnName);
}

//3.DataTable的Rows集合
//增 向DataTable里面添加数据行使用Add方法,有两种方式。一种方式,加入行之前要先使用DataTable的NewRow方法获得一个空行
DataRow r = dtperson.NewRow();
dtperson.Rows.Add(r);
//第二种方式,你可以根据表的列结构构造一个对象数组,这种方式要注意你构造的数组要与表的列结构对应
object[] r = new object[] { “001”,”大彪”,28,”男”};
dtperson.Rows.Add(r);

//删 删除某个数据行可以使用IList接口的Remove和RemoveAt两种方法,还可以使用该行的delete方法,使用Removeat或delete方法删除比较常用
DataRow r = dtperson.NewRow();
dtperson.Rows.Add(r);
r.Delete(); //删除r行
dtperson.Rows.Remove(r); //删除r行
dtperson.Rows.RemoveAt(0); //按行索引删除行,这里是删除第一行

//改 因为数据集的实际数据就保存在行里,所以修改行的数据是数据集里最常用的一个操作,修改行也是行使用表的索引器先获得该行,然后再使用行的索引器进行修改
DataRow r = dtperson.Rows[0];
r[“psnSex”] = “女”; //按列名修改该行的此列的值
r[0] = “007”; //按列索引修改行,这里是修改该行的第一列数据

//查 获得某一行使用表的索引器,获得行的某一列值使用行的索引器,使用方式我们在介绍修改行的时候已经介绍过了,你可以通过数据集直接使用索引获得某行某列的值,要注意返回的值是object类型的,要想获得具体的值还需要进行类型转换
//获取person表第二行psnName列的数据
string name = ds.Tables[“person”].Rows[0].ItemArray[“psnName”].ToString();
//获取Person表第二行列索引为4的列数据。注意索引都从0开始
string name = ds.Tables[“person”].Rows[1].ItemArray[4].ToString();
//获取数据集中第一个表,第二行第五列的数据
string name = ds.Tables[0].Rows[1].ItemArray[4].ToString();
//当然,也可以通过循环遍历表中所有行的数据
foreach (DataRow r in dtperson.Rows)
{
foreach (DataColumn c in dtperson.Columns)
{
Console.WriteLine(“{0}”,r[c.ColumnName]);
}
}
}
}
}

分类: C#

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部