演示DataTable类的使用
2006-12-20 13:06
148 查看
(摘录自《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表
------------------------------
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表
------------------------------
相关文章推荐
- eclipse的jigloo插件可视化开发java swing/SWT.安装及使用演示。
- 演示 zabbix LLD(Low-Level Discovery) 如何使用
- javascript入门系列演示·函数的定义以及简单参数使用,调用函数
- AJAX基本演示使用
- ionic结合免费云服务器leancloud的使用方法及Demo演示
- msdn daovidw 程序运行过程(分割多视图,演示CTreeView和CListView的使用)
- 如何使用MindMapper中的幻灯片演示
- php中全局变量global的使用演示代码
- Cocos2d-x控件使用CCControlSwitch<代码演示>
- javascript中checkbox使用方法简单实例演示
- 使用JQ来编写最基本的淡入淡出效果附演示动画
- 以交互方式使用exp/imp的演示
- 使用timer控件演示简单动画程序
- 一步一步教你使用AgileEAS.NET基础类库进行应用开发-WinForm应用篇-演示ORM对象与DataGridView的绑定技术-商品字典的另一个实现
- 演示UniqueConstraint类的使用
- 使用命令行控制 Windows 演示设置
- 以交互方式使用exp/imp的演示
- 也晒晒我的RBAC系统(三):后台管理程序源码及使用演示
- 使用MFC的CFile文件类和CArchive串行化类进行二进制文件读写操作演示案例
- 演示使用 JACOB : Java COM Bridge 操纵 Word 文档