您的位置:首页 > 其它

演示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表
------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: