编码实现>微软数据访问技术ADO.NET>使用DataSet>了解DataSet
DataSet就是一个内存数据库,DataSet内部以XML表示数据,不仅可以是数据库中数据的副本,还可以从XML,CSV文件导入记录。
DataSet的层次关系图
编码实现>微软数据访问技术ADO.NET>使用DataSet>使用DataTable实现内存表
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace MemoryTable
{
class Program
{
static void Main(string[] args)
{
//为DataTable指定一个表名,通过dt.TableName可以访问表名。
DataTable dt = new DataTable("内存表示例");
//为DataTable添加架构信息,也就是创建字段。
dt.Columns.Add(new DataColumn("书名", typeof(string)));
dt.Columns.Add(new DataColumn("书号", typeof(string)));
DataColumn[] dcs = new DataColumn[2];
dcs[0] = new DataColumn("价格", typeof(decimal));
dcs[1] = new DataColumn("出版社", typeof(string));
dt.Columns.AddRange(dcs);
DataRow dr = dt.NewRow();
dr["书名"] = "C#编程系列";
dr["书号"] = "12345-678-90";
dr["价格"] = 45.3;
dr["出版社"] = "我的出版社";
dt.Rows.Add(dr);
dt.Rows.Add(new object[] { "C#编程系列二", "33455-333-333", 45.7, "我的出版社" });
DisplayResult(dt);
Console.ReadLine();
}
static void DisplayResult(DataTable dt)
{
for (int i = 0; i <= dt.Columns.Count - 1; i++)
{
Console.Write(dt.Columns[i].ColumnName.PadRight(10));
}
Console.WriteLine();
for (int i = 0; i <= dt.Rows.Count - 1; i++)
{
foreach (DataColumn col in dt.Columns)
{
Console.Write(dt.Rows[i][col].ToString().PadRight(10));
}
Console.WriteLine();
}
}
}
}
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace MemoryTable
{
class Program
{
static void Main(string[] args)
{
//为DataTable指定一个表名,通过dt.TableName可以访问表名。
DataTable dt = new DataTable("内存表示例");
//为DataTable添加架构信息,也就是创建字段。
dt.Columns.Add(new DataColumn("书名", typeof(string)));
dt.Columns.Add(new DataColumn("书号", typeof(string)));
DataColumn[] dcs = new DataColumn[2];
dcs[0] = new DataColumn("价格", typeof(decimal));
dcs[1] = new DataColumn("出版社", typeof(string));
dt.Columns.AddRange(dcs);
DataRow dr = dt.NewRow();
dr["书名"] = "C#编程系列";
dr["书号"] = "12345-678-90";
dr["价格"] = 45.3;
dr["出版社"] = "我的出版社";
dt.Rows.Add(dr);
dt.Rows.Add(new object[] { "C#编程系列二", "33455-333-333", 45.7, "我的出版社" });
DisplayResult(dt);
Console.ReadLine();
}
static void DisplayResult(DataTable dt)
{
for (int i = 0; i <= dt.Columns.Count - 1; i++)
{
Console.Write(dt.Columns[i].ColumnName.PadRight(10));
}
Console.WriteLine();
for (int i = 0; i <= dt.Rows.Count - 1; i++)
{
foreach (DataColumn col in dt.Columns)
{
Console.Write(dt.Rows[i][col].ToString().PadRight(10));
}
Console.WriteLine();
}
}
}
}