C# DataTable常见用法汇总

C# DataTable常见用法汇总

本攻略将详细讲解C# DataTable的常见用法,包括创建、增删改查、排序、筛选、数据类型转换等。

创建DataTable

创建DataTable之前需要先声明DataTable对象和数据列,并在表对象中添加数据列,代码如下:

//声明表对象
DataTable dt = new DataTable();
//添加数据列
dt.Columns.Add("ID");
dt.Columns.Add("Name");
dt.Columns.Add("Age", typeof(int));
dt.Columns.Add("Gender");

增删改查

增加行

使用NewRow()方法创建新行,使用Add()方法将行添加到表中,代码如下:

DataRow dr = dt.NewRow();
dr["ID"] = 1;
dr["Name"] = "Tom";
dr["Age"] = 20;
dr["Gender"] = "Male";
dt.Rows.Add(dr);

删除行

使用Remove()方法删除指定行,代码如下:

dt.Rows.Remove(dt.Rows[0]);

修改行

直接对行的数据进行修改即可,代码如下:

dt.Rows[0]["Age"] = 21;

查询行

使用Select()方法查询符合条件的行,代码如下:

DataRow[] drs = dt.Select("Age>18");
foreach (DataRow dr in drs)
{
    Console.WriteLine(dr["Name"]);
}

排序

使用DefaultView对数据进行排序,并将结果赋值给DataTable,代码如下:

dt.DefaultView.Sort = "Age desc";
dt = dt.DefaultView.ToTable();

筛选

使用Select()方法筛选符合条件的行,并将结果复制到新的DataTable中,代码如下:

DataTable dt2 = dt.Clone();
DataRow[] drs = dt.Select("Age>18");
foreach (DataRow dr in drs)
{
    dt2.ImportRow(dr);
}

数据类型转换

使用Convert类进行数据类型转换,示例如下:

int age = Convert.ToInt32(dt.Rows[0]["Age"]);

示例说明

示例1

以下示例展示如何使用DataTable和DataGrid实现数据表格的显示和编辑:

DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name");
dt.Columns.Add("Age", typeof(int));
dt.Columns.Add("Gender");

//添加测试数据
DataRow dr = dt.NewRow();
dr["ID"] = 1;
dr["Name"] = "Tom";
dr["Age"] = 20;
dr["Gender"] = "Male";
dt.Rows.Add(dr);

dr = dt.NewRow();
dr["ID"] = 2;
dr["Name"] = "Lucy";
dr["Age"] = 21;
dr["Gender"] = "Female";
dt.Rows.Add(dr);

DataGrid dg = new DataGrid();
dg.SetBinding(ItemsControl.ItemsSourceProperty, new Binding { Source = dt });
dg.IsReadOnly = false;

使用以上代码,创建了一个包含数据的DataTable,将DataTable与DataGrid进行绑定,实现了数据表格的显示和编辑。

示例2

以下示例展示如何使用ADO.NET和DataTable实现数据的查询和展示:

using System.Data.SqlClient;

string connStr = "Data Source=(local);Initial Catalog=StudentDB;User ID=sa;Password=123456";
SqlConnection conn = new SqlConnection(connStr);
conn.Open();

string sql = "select * from Student";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adapter.Fill(dt);

conn.Close();

//在页面或窗口中显示表格
DataGrid dg = new DataGrid();
dg.SetBinding(ItemsControl.ItemsSourceProperty, new Binding { Source = dt });

使用以上代码,创建了一个连接StudentDB数据库,查询Student表中的所有记录,并将结果填充到DataTable中,最后将DataTable与DataGrid进行绑定,实现了数据的查询和展示。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# DataTable常见用法汇总 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • .net开发:为程式码加上行号的方法详解

    为程式码加上行号一般是在编写代码时为了方便阅读和调试而进行的。下面给出两种在.NET开发中为程序代码加上行号的方法详解。 方法一 步骤一:添加代码 在你想要添加行号的代码处新增以下代码: string[] lines = textBox1.Text.Split(‘\n’); for (int i = 0; i < lines.Length; i++) …

    C# 2023年5月31日
    00
  • C#中new操作符的工作机制

    在C#中,使用new操作符可以实例化一个对象,即创建一个对象实例。new操作符有以下几个工作机制: 分配内存空间:new操作符会在内存中为对象分配一定的空间。这个空间包括对象的所有成员变量以及对象所继承的基类的成员变量。 调用构造函数:一旦分配了内存空间,在内存中创建了对象,new操作符会调用对象的构造函数,进行对象的初始化。 返回对象引用:在对象被创建并初…

    C# 2023年5月31日
    00
  • 自动化测试读写64位操作系统的注册表

    自动化测试读写64位操作系统的注册表 概述 在某些情况下,我们需要对操作系统的注册表进行读写操作,以实现某项功能。本文将介绍如何使用Python中的winreg库来进行自动化测试读写64位操作系统的注册表。 准备工作 在开始之前,请确保以下准备工作已经完成: 安装Python3.x环境; 安装winreg库; 确认操作系统为64位系统。 读取和写入注册表键值…

    C# 2023年5月15日
    00
  • C#实现文件上传以及多文件上传功能

    下面是详细讲解“C#实现文件上传以及多文件上传功能”的完整攻略,包含以下内容: 前端页面设计,包括上传按钮、进度条等控件的布局与设置; 后端控制器的编写,包括接受文件上传的代码逻辑、对上传文件进行处理的方法等; 多文件上传功能的实现方法,在实现单文件上传功能的基础上进行扩展。 前端页面设计 前端页面作为文件上传功能的入口,需要设计上传按钮、进度条等控件,并将…

    C# 2023年5月15日
    00
  • 开源一个c# 新的雪花算法

    下面是详细讲解“开源一个c#新的雪花算法”的完整攻略: 1. 前言 雪花算法是分布式系统中生成唯一 ID 的算法之一,常用于对数据库的主键进行分布式处理。目前已经有很多开源的雪花算法实现,本攻略通过介绍如何开源一个新的 C# 雪花算法,来帮助初学者更好地掌握这个算法的原理和实现。 2. 环境 在进行开发之前,我们需要先安装以下环境: Visual Studi…

    C# 2023年5月15日
    00
  • C#连接SQL Server数据库的实例讲解

    下面是关于C#连接SQL Server数据库的完整攻略: 一、准备工作 首先需要在本地安装好SQL Server数据库,并开启相关服务。然后需要安装SqlServer.DatClient包,可以通过NuGet Package Manager搜索安装。 二、连接数据库 连接数据库的过程: using System.Data.SqlClient; namespa…

    C# 2023年6月1日
    00
  • C#去除字符串中的反斜杠实例(推荐)

    C#去除字符串中的反斜杠实例(推荐) 问题描述 在C#中,有时候需要将一个字符串中的反斜杠去掉,以便能够正确地使用字符串,比如在Json字符串中,需要将反斜杠去掉。本教程将介绍如何在C#中去除字符串中的反斜杠。 实现方式 方法一:使用Replace方法 可以使用String类的Replace方法,将反斜杠替换为空字符串即可。示例如下: string str …

    C# 2023年6月8日
    00
  • asp.net使用jquery模板引擎jtemplates呈现表格

    下面我将详细介绍“asp.net使用jquery模板引擎jtemplates呈现表格”的步骤及其示例。 jtemplates简介 jtemplates是一款基于jQuery的模板引擎,它可以帮助我们以非常简洁的方式生成HTML代码。它可以与jQuery非常好地集成,支持常用的语法结构。jtemplates提供了数据绑定、条件判断、循环等基本的模板引擎功能,可…

    C# 2023年5月31日
    00
合作推广
合作推广
分享本页
返回顶部