编码实现>微软数据访问技术ADO.NET>使用DataSet>了解DataSet

DataSet就是一个内存数据库,DataSet内部以XML表示数据,不仅可以是数据库中数据的副本,还可以从XML,CSV文件导入记录。

DataSet的层次关系图

编码实现>微软数据访问技术ADO.NET>使用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();
            }
        }
    }
}

相关文章: