(摘录自《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;
DataColumn[] keys = new DataColumn[1];
testDC = new DataColumn();
testDC.DataType = Type.GetType("System.Int32");
testDC.ColumnName = "ID";
keys[0] = testDC;
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);
DataRowCollection testDRC;
testDRC = testDT.Rows;
testDR = testDT.NewRow();
testDR["ID"] = 3;
testDR["Name"] = "Mike";
testDR["School"] = "SCUT";
testDT.Rows.Add(testDR);
DoPrint(testDT);
testDT.PrimaryKey = keys;
Console.WriteLine("是否有ID为1的记录?" + testDRC.Contains("1"));
Console.WriteLine("是否有ID为5的记录?" + testDRC.Contains("5"));
testDR = testDRC.Find("2");
Console.WriteLine("ID为2的记录:");
foreach (DataColumn dc in testDT.Columns)
{
Console.Write(testDR[dc] + " ");
}
Console.WriteLine();
Console.WriteLine("插入前表的数据:");
DoPrint(testDT);
Console.WriteLine("插入后表的数据:");
testDR = testDT.NewRow();
testDR[0] = 8;
testDR[1] = "Nick";
testDR[2] = "ZSU";
testDRC.InsertAt(testDR, 1);
DoPrint(testDT);
Console.WriteLine("删除第一行记录:");
testDRC.RemoveAt(0);
DoPrint(testDT);
Console.WriteLine("删除所有记录:");
testDRC.Clear();
DoPrint(testDT);
}
private static void DoPrint(DataTable tempDT)
{
Console.WriteLine(" " + tempDT.TableName + "表数据:");
foreach (DataColumn dc in tempDT.Columns)
{
Console.Write(dc.ColumnName + " ");
}
Console.WriteLine();
foreach (DataRow dr in tempDT.Rows)
{
foreach (DataColumn dc in tempDT.Columns)
{
Console.Write(dr[dc] + " ");
}
Console.WriteLine();
}
Console.WriteLine("------------------------------/n");
}
}
}
*************************************************
执行结果:
student表数据:
ID Name School
1 Rose SCUT
2 Coke SCNU
3 Mike SCUT
------------------------------
是否有ID为1的记录?True
是否有ID为5的记录?False
ID为2的记录:
2 Coke SCNU
插入前表的数据:
student表数据:
ID Name School
1 Rose SCUT
2 Coke SCNU
3 Mike SCUT
------------------------------
插入后表的数据:
student表数据:
ID Name School
1 Rose SCUT
8 Nick ZSU
2 Coke SCNU
3 Mike SCUT
------------------------------
删除第一行记录:
student表数据:
ID Name School
8 Nick ZSU
2 Coke SCNU
3 Mike SCUT
------------------------------
删除所有记录:
student表数据:
ID Name School
------------------------------