关闭

.NET学习(三)用DataSet缓存数据库中的数据

595人阅读 评论(0) 收藏 举报
分类:

DataSet的使用

DataSet相当于一个数据缓存容器。
DataAdapter用于将数据从数据库中提取出来,存放到DataSet对象中。

大致有以下五个步骤:
1.实例化一个DataAdapter对象。
(注意:以下命名空间均在MySql环境下!!使用其他数据库的同学请选择相应的库)

MySqlDataAdapter dataAdapter = new MySqlDataAdapter();

2.将之前的Command对象(详见上篇或者下例)赋给相应的dataAdapter的command变量。

dataAdapter.SelectCommand = command;

3.实例化一个DataSet对象。

DataSet dataSet = new DataSet();

4.将DataAdapter的执行结果(Select SQL 语句返回值)填充到DataSet对象中。

dataAdapter.Fill(dataSet);

5.使用DataSet中的数据。

eg:dataSet.Tables[0] //返回DataSet对象中的第一个表

完整代码示例:
(UI控件只有一个GridView,用于显示查取到的整个表)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using MySql.Data;
using MySql.Data.MySqlClient;


public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        MySqlConnection connection = new MySqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["Con"]
            .ConnectionString.ToString());
        try
        {
            connection.Open();
            MySqlCommand command = new MySqlCommand("SELECT * FROM login", connection);
            MySqlDataAdapter dataAdapter = new MySqlDataAdapter();
            dataAdapter.SelectCommand = command;
            DataSet dataSet = new DataSet();
            dataAdapter.Fill(dataSet);
            this.GridView1.DataSource = dataSet.Tables[0].DefaultView;
            this.GridView1.DataBind();
        }
        catch(Exception err)
        {

        }
        finally
        {
            connection.Close();
        }

    }
}

运行结果:
运行结果

DataSet与DataReader的选择

一般情况下,DataReader的速度不仅比DataSet块,而且其使用的内存也较小(DataSet相当于缓存),如果数据绑定控件不需要提供排序或分页功能,最好使用DataReader。否则使用DataSet。

1
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

C#中DataSet、SqlDataAdapter的使用-关于数据库操作

DataSet表示数据在内存中的缓存。 我的理解是,在内存中的数据表,需要引用using System.Data; SqlDataAdapter表示用于填充 DataSet 和更新 SQL Serve...
  • xubaifu1997
  • xubaifu1997
  • 2016-07-03 20:38
  • 4225

C#之数据集:DataSet对象

ADO.NET数据访问技术的一个突出的特点就是支持离线访问,而实现这种离线访问技术的核心就是DataSet对象,该对象通过将数据驻留在内存来实现离线访问。         DataSet对象概述 ...
  • erlian1992
  • erlian1992
  • 2015-05-26 17:14
  • 2088

将多个DataTable添加到指定的DataSet中

将多个DataTable添加到指定的DataSet中 如何将多个DataTable添加到指定的DataSet中 事件起因:从数据库中,查询多个dataTable,现在想一下子返回多...
  • wangxiaojia42121
  • wangxiaojia42121
  • 2016-11-25 11:34
  • 1894

ADO.NET访问数据-(2) DataSet本地缓存与数据库的交互过程,以及应用

大半夜的睡不着觉 ,被宿舍的一群狼给吵醒了,于是就继续写博客。。。。       在前面一个 ADO.NET  数据库文章中  我说过  ADO.NET  允许用户在断网的情况下 对数据库进行 "...
  • yue7603835
  • yue7603835
  • 2011-12-02 05:06
  • 2109

Asp.Net使用DataSet查询数据库数据

DAL层 using System; using System.Collections.Generic; using System.Text; using MODEL; using Syst...
  • KingCruel
  • KingCruel
  • 2012-09-14 19:12
  • 1214

.NET配置本地数据库文件的密码(并实现DataSet访问数据表数据)

1.给数据库设置密码 2.新增一个数据集DataSet 3.把数据库表拖进数据集 5.新增一个窗体页面 ...
  • yuanhong55
  • yuanhong55
  • 2013-11-07 15:48
  • 930

黑马程序员_学习日记48_616数据库开发及ADO.Net(带参数的Sql语句、数据库与文本文件导入导出、省市联动、资料管理器、DataSet (ado.net断开式数据访问)、SQLHelper)

一、带参数的Sql语句(避免注入攻击) (一)   注入漏洞攻击 在用户名中输入:jk’ or 1=1 -- select count(*) from UserLogin where log...
  • kuangjian007
  • kuangjian007
  • 2012-06-17 17:18
  • 626

ADO.NET 快速入门(四):从数据库填充 DataSet

从数据库获取数据很容易,处理数据更容易。如果想要从数据库获取只进、只读的数据流结果集,你可以使用 DataReader 执行命令并且检索它。关于如何使用 DataReader,请参考:使用 OLE...
  • rose_and_sun
  • rose_and_sun
  • 2017-04-26 21:52
  • 87

ADO.NET 快速入门(五):从 DataSet 更新数据库

该主题说明了如何使用 DataSet 在数据库中更新数据。你依然可以直接使用 SqlCommand 在数据库中插入、更新、和删除数据,记住这一点也很重要。理解“从数据库填充DataSet”涵盖的概念有...
  • rose_and_sun
  • rose_and_sun
  • 2017-04-26 21:53
  • 221

.NET中DataReader与DataSet访问SqlServer数据库(C#)

首先呢,通过阐述DataSet与DataReader为用户查询数据库的过程,来看一下它们之间的区别        DataSet:                 1....
  • SmallXianNotImmortal
  • SmallXianNotImmortal
  • 2016-01-15 10:35
  • 291
    个人资料
    • 访问:175948次
    • 积分:4654
    • 等级:
    • 排名:第7272名
    • 原创:289篇
    • 转载:39篇
    • 译文:0篇
    • 评论:8条
    最新评论