演示DataTable类的使用
来源:互联网 发布:开源软件许可协议 编辑:程序博客网 时间:2024/05/20 04:11
(摘录自《C#函数实用手册》冶金工业出版社)
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
DataTable testDT = new DataTable("student");
DataColumn testDC;
testDC = new DataColumn();
testDC.DataType = Type.GetType("System.Int32");
testDC.ColumnName = "ID";
testDT.Columns.Add(testDC);
testDC = new DataColumn();
testDC.DataType = Type.GetType("System.String");
testDC.ColumnName = "Name";
testDT.Columns.Add(testDC);
testDC = new DataColumn();
testDC.DataType = Type.GetType("System.String");
testDC.ColumnName = "School";
testDT.Columns.Add(testDC);
DataRow testDR = testDT.NewRow();
testDR["ID"] = 1;
testDR["Name"] = "Rose";
testDR["School"] = "SCUT";
testDT.Rows.Add(testDR);
testDR = testDT.NewRow();
testDR["ID"] = 2;
testDR["Name"] = "Coke";
testDR["School"] = "SCNU";
testDT.Rows.Add(testDR);
testDT.AcceptChanges();
Console.WriteLine("原始表的数据:");
DoPrint(testDT);
Console.WriteLine("添加数据:");
testDR = testDT.NewRow();
testDR[0] = 3;
testDR[1] = "Mike";
testDR[2] = "SCUT";
testDT.Rows.Add(testDR);
DoPrint(testDT);
Console.WriteLine("不要该添加的数据:");
testDT.RejectChanges();
DoPrint(testDT);
Console.WriteLine("添加数据:");
testDR = testDT.NewRow();
testDR[0] = 4;
testDR[1] = "Clin";
testDR[2] = "SCNU";
testDT.BeginLoadData(); // 使用BeginLoadData方法在加载数据时关闭通知、索引维护和约束
testDT.Rows.Add(testDR);
testDT.EndLoadData(); // 使用BeginLoadData方法在加载数据时打开通知、索引维护和约束
DoPrint(testDT);
DataTable testDTA = testDT.GetChanges();
Console.WriteLine("添加的数据:");
DoPrint(testDTA);
DataRow[] testDRA;
testDRA = testDT.Select(); // 使用Select方法获取DataRow对象的数组
Console.WriteLine("学生的名字:");
for (int i = 0; i < testDRA.Length; i++)
{
Console.WriteLine(testDRA[i]["Name"]);
}
Console.WriteLine("执行Reset操作!");
testDT.Reset();
DoPrint(testDT);
Console.ReadLine();
}
private static void DoPrint(DataTable dt)
{
Console.WriteLine(" " + dt.TableName + "表");
foreach (DataColumn dc in dt.Columns)
{
Console.Write(" " + dc.ColumnName + " ");
}
Console.WriteLine();
foreach (DataRow dr in dt.Rows)
{
foreach (DataColumn dc in dt.Columns)
{
Console.Write(" " + dr[dc]);
}
Console.WriteLine();
}
Console.WriteLine("------------------------------/n");
}
}
}
********************************************
执行结果如下:
原始表的数据:
student表
ID Name School
1 Rose SCUT
2 Coke SCNU
------------------------------
添加数据:
student表
ID Name School
1 Rose SCUT
2 Coke SCNU
3 Mike SCUT
------------------------------
不要该添加的数据:
student表
ID Name School
1 Rose SCUT
2 Coke SCNU
------------------------------
添加数据:
student表
ID Name School
1 Rose SCUT
2 Coke SCNU
4 Clin SCNU
------------------------------
添加的数据:
student表
ID Name School
4 Clin SCNU
------------------------------
学生的名字:
Rose
Coke
Clin
执行Reset操作!
student表
------------------------------
- 演示DataTable类的使用
- 演示ConstraintCollection类的使用
- 演示DataRow类的使用
- 演示DataRowCollection类的使用
- 演示DataTableCollection类的使用
- 演示DataView类的使用
- 演示ForeignKeyConstraint类的使用
- 演示PropertyCollection类的使用
- 演示UniqueConstraint类的使用
- 演示DataRow类的使用
- 演示ACE_Log_Msg类的使用
- Xml与DataTable等使用的类
- DataTable控件的使用
- DataTable的使用
- DataTable的使用
- dataset、datatable的使用
- datatable的使用
- dataTable的使用
- 在vb中使用Iphlpapi.dll获取网络信息 第二章 第一节 获取本机网络适配器的信息
- oracle基本概念和术语
- 成年人必看的六个故事教你学会做人
- 在vb中使用Iphlpapi.dll获取网络信息 第二章 第二节 获取MIB-II 接口表
- [转贴]著名IT公司名字的来历
- 演示DataTable类的使用
- 用分治算法确定一个给定的数x是否在矩阵M中
- 投资理财浪潮中的三戒
- 在vb中使用Iphlpapi.dll获取网络信息 第二章 第三节 获取本机TCP 信息列表
- 在vb中使用Iphlpapi.dll获取网络信息 第二章 第四节 获取当前TCP连接情况
- 看完9个笑话 顿悟9个人生道理
- 组织之间的关系就好像是个大家庭
- 在vb中使用Iphlpapi.dll获取网络信息 第二章 第五节 获取本机UDP信息列表
- Be a QQer