文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>编码实现>微软数据访问技术ADO.NET>使用DataSet>

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

时间:2010-10-13  来源:草珊瑚

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

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

DataSet的层次关系图


编码实现>微软数据访问技术ADO.NET>使用DataSet>使用DataTable实现内存表

使用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();
            }
        }
    }
}


编码实现>微软数据访问技术ADO.NET>使用DataSet>把数据库中的数据填充到DataSet,以及访问DataSet中的数据

代码 using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace FillDataSet
{
    class Program
    {
        static void Main(string[] args)
        {
            const string ConnectionStr = @"Data Source=.\SQLExpress;AttachDbFilename=|DataDirectory|\Northwnd.mdf;Integrated Security=True;user Instance=True;";
            using (SqlConnection conn = new SqlConnection(ConnectionStr))
            {
                try
                {
                    conn.Open();
                    DataSet ds = new DataSet();
                    SqlDataAdapter daOrders = new SqlDataAdapter("Select top 2 * from orders", conn);
                    daOrders.Fill(ds,"orders");
                    Console.WriteLine("填充Orders表到DataSet成功");
                    SqlDataAdapter daProducts = new SqlDataAdapter("Select top 2 * from Products", conn);
                    daProducts.Fill(ds,"Products");
                    Console.WriteLine("填充Products表到DataSet成功");
                    SqlDataAdapter daOrderDetails = new SqlDataAdapter("Select top 2 * from [Order Details]", conn);
                    daOrderDetails.Fill(ds,"Order Details");
                    Console.WriteLine("填充Order Detail表到DataSet成功");
                    Console.WriteLine("访问Orders表的第一行第一列记录值是:");
                    Console.WriteLine(ds.Tables[0].Rows[0][0]);
                    //使用CreateTableReader方法显示所有的数据
                    DisplayResult(ds);
                }
                catch (SqlException ex)
                {
                    Console.WriteLine("在处理数据的过程中发生了错误:{0}", ex.Message);
                }
                finally
                {
                    if (conn.State == ConnectionState.Open)
                    {
                        conn.Close();
                    }
                }
            }
            Console.Read();
        }
        static void DisplayResult(DataSet ds)
        {
            using (DataTableReader dtr = ds.CreateDataReader())
            {
                do
                {
                    if (dtr.HasRows)
                    {                        
                        while (dtr.Read())
                        {
                            for (int i = 0; i < dtr.FieldCount; i++)
                            {
                                Console.Write(dtr[i] + " ");
                            }
                            Console.WriteLine();
                        }
                    }
                    else
                    {
                        Console.WriteLine("没有数据");
                    }
                    Console.WriteLine("---------------------" + Environment.NewLine);
                } while (dtr.NextResult());
            }
        }
    }
}


 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载