ADO.Net中DataSet的应用

DataSet是ADO.NET提供的两个基本组件之一,是实现离线访问数据库的关键技术。

其属性如下:

CaseSensitive

获取或设置一个值,该值指示 DataTable 对象中的字符串比较是否区分大小写。

Container

获取组件的容器。

DataSetName

获取或设置当前 DataSet 的名称

DefaultViewManager

获取 DataSet 所包含的数据的自定义视图,以允许使用自定义的 DataViewManager 进行筛选、搜索和导航。

DesignMode

获取指示组件当前是否处于设计模式的值。

EnforceConstraints 获取或设置一个值,该值指示在尝试执行任何更新操作时是否遵循约束原则。

Events

获取附加到该组件的事件处理程序的列表。

ExtendedProperties

获取与 DataSet 相关的自定义用户信息的集合。

HasErrors

获取一个值,指示在此 DataTable 中的任何 DataSet 对象中是否存在错误。

IsInitialized

获取一个值,该值指示是否已初始化 DataSet。

Locale

获取或设置用于比较表中字符串的区域设置信息。

Namespace

获取或设置 DataSet 的命名空间。

Prefix

获取或设置一个 XML 前缀,该前缀是 DataSet 的命名空间的别名。

Relations

获取用于将表链接起来并允许从父表浏览到子表的关系的集合。

RemotingFormat

为远程处理期间使用的 SerializationFormat 获取或设置 DataSet

SchemaSerializationMode

获取或设置 SchemaSerializationMode 的 DataSet

Site

获取或设置 DataSet 的 ISite

Tables

获取包含在 DataSet 中的表的集合。

下面简单说一下应用DataSet的简单流程

一、创建数据源连接

SQLConnection conn =new SQLConnection("server=localhost;DataBase=db_Name;uid=sa;pwd=2wsx@WSX;");

二、创建SQLDataSetCommand对象

SQLDataSetCommand cmd =new SQLDataSetCommand("SELECT * FROM tb_数据表", con); 

三、创建DataSet对象,并调用cmd中的FillData方法,填充DataSet(记得实战中要自己加上数据库的开启与关闭)

DataSet ds = new DataSet();

int n=cmd.FillDataSet(ds, "Authors"); 

个案分析及源代码展示

先在外部公共声明好SqlDataAdapter、DataSet,再创建一个Fill()方法,再在窗口加载时调用Fill()

  SqlDataAdapter da;
        DataSet ds;

        public void Fill()
        {
            string sql = "select tb_Doctor .Id ,tb_Doctor .Name ,Password,(case sex  when 1 then '男' else '女' end) as Sex"
                +",Birth,HireDate,Title,tb_Department .Name as Department,Phone,Email," +
                "HomeAddress,HomePhone,tb_Doctor .Memo  "+
                "from tb_Doctor ,tb_Department where tb_Doctor .DepartmentId=tb_Department .Id ";
            using (SqlConnection conn = new SqlConnection(DBHelper.connString))
            {
                da = new SqlDataAdapter(sql ,conn );
                ds =new DataSet() ;
                da.Fill(ds );
                dgv_DoctorList .DataSource =ds.Tables [0];
            }
        }

        private void DoctorList_Load(object sender, EventArgs e)
        {
            Fill();
        }

好了,今天的内容就到这里了,小结一下



原文地址:https://www.cnblogs.com/fenglianchen/p/9998104.html