zoukankan      html  css  js  c++  java
  • 实现Windows程序的数据绑定

    1.DataSet对象

    当应用程序需要查询数据时,可以使用DataReader对象读取数据,DataReader每次都只能读取一行数据到内存中,并且要一直与数据库保持连接.而且是只读只进型的读取方法.给程序想再次获得读取过的数据带来了麻烦.利用数据集,我们可以在断开与数据库连接的情况下操作数据,可以操作来自多个相同或不同数据源的数据

    1.1认识DataSet对象

    我们可以把数据集简单的理解为一个临时的数据库,他把应用程序需要的数据临时保存在内存中,由于这些数据都缓存在本地机器上,就不需要一直保存和数据库的连接.当应用程序需要数据时,就直接从内存中的数据集读取数据,也可以对数据集中的数据进行修改,然后将修改后的数据一起提交到数据库.

    数据集不直接和数据库打交道,它和数据库之间的相互作用都是通过.Net数据提供程序来完成的,所以数据集是独立于任何数据库的.

    1.2创建DataSet 

    DateSet位于System.Data命名空间中,创建DataSet语法如下

    [语法]:

    DataSet  数据集对象 = new DataSet("数据集的名称字符串");

    方法中的参数是数据集的名称,可以有,也可以没有,如果没有写参数,创建的数据集的名称默认为NewDataSet.

    例如:

    DataSet myDataSet = new DataSet();

    DataSet myDataSet = new DataSet("MySchool");

    2 DataAdapter对象

    数据适配器数据库和DataSet对象连接的桥梁

    2.1认识DataAdapter对象

    .NET 数据提供程序及DataAdapter类
    .NET 数据提供程序连接类
    SQL  数据提供程序
    System.Data.SqlClient命名空间中
    SqlDataAdapter
    OLE DB  数据提供程序
    System.Data.OleDb命名空间中
    OleDbDataAdapter
    ODBC 数据提供程序
    System.Data.Odbc命名空间中
    OdbcDataAdapter
    Oracle  数据提供程序
    System.Data.OracleClient命名空间中
    OracleDataAdapter

    DataAdapter对象的主要属性和方法

    属性:

    SelectCommand  从数据库检索数据的Command对象

    方法

    Fill()  向DataSet中的表填充数据

    Update  将DataSet中的数据提交到数据库

    2.2填充数据集

    使用DataAdapter填充数据集需要四个步骤

    (1)创建数据库连接对象

    (2)创建从数据库查询数据用的SQL语句

    (3)利用上面创建的SQL语句和Connection对象创建DataAdapter对象

    语法:

    SqlDataAdapter 对象名 = new SqlDataAdapter(查询用的SQL语句,数据库连接);

    或者

    SqlDataAdqpter adapter = new SqlDataAdapter();

    SqlCommand command  = new SqlCommand(查询用的SQL语句,数据库连接);

    adapter.SelectCommand = command;

    (4)调用DataAdapter对象的Fill方法填充数据集

    语法:

    DataAdapter对象.Fill(数据集对象,"数据表名称字符串");

    Fill()方法接收一个数据表名称的字符串参数.如果数据集中原来没有这个数据表,调用Fill()方法后就会创建一个数据表.如果数据集中原来有这个数据表,就会把现在查出的结果继续添加到数据表中.

    经验:

    创建一个DataAdapter对象,都与Connection.Command对象有关,并且要编写SQL语句

    在不同的代码段中,Connection对象出现的位置可能不同

    3.数据绑定

    数据绑定是为了在控件上显示数据库中存储的数据,而将应用程序的控件与数据库的任何列或行进行绑定的过程.VS使用DataSource属性为我们提供了静态和动态的数据绑定,教好的解决了这个问题,降低了代码的复杂度

    3.1ComboBox数据绑定

    通过组合框实现绑定数据时,常使用的属性为:

    DataSource  获取或设置数据源

    DisplayMember  获取或设置要为此ListContiol显示的属性

    ValueMember 获取或设置一个属性,该属性将用做ListControl中项的实际值.

    4.DataGridView控件

    4.1认识DataGridView控件

    数据网格视图控件是一个很强大的控件,在DataGridView中还可以直接修改和删除数据.

    DataGridView控件能够以表格的形式显示数据,可以设置为只读,也可以允许编辑数据.要想指定DataGridView显示哪个表的数据,只需要设置他的DataSource属性,使用一行代码就能实现

    主要属性:

    Columns  包含列的集合

    DataSource DataView的数据源

    ReadOnly 是否可以编辑单元格

    各列的主要属性:

    DataPropertyName  绑定数据列的名称

    HeaderText 列标题文本

    Visible 制定列是否可见

    Frozen 指定水平滚动DataGridView时列是否移动

    ReadOnly 指定单元格是否为只读

    4.2使用DataGridView控件显示数据

    (1)添加控件

    (2)设置DataGridView的属性和各列的属性

    (3)筛选信息(查询用)

    (4)绑定DataGridView的数据源

    4.3保存对数据集的修改

    (1)使用SqlCommandBuilder对象生成更新用的相关命令

    [语法]:

    sqlCommandBuilder  Builder = new  SqlCommandBuilder(已创建的DataAdaptr对象);

    (2)调用DataAdapter对象的Update方法

    DataAdaptre对象.Update(数据集对象,"数据表名称字符串");

    经验:

    SqlCommandBuilder只操作单个表.也就是说,创建DataAdaptr对象时.使用的SQL语句只能从一个表里面查数据,不能进行联合查询.

    常见错误:

    (1)不使用sqlCommandBuilder直接调用Updata()方法

    (2)利用DataGridView显示数据集中表时,没有为他的列设置DataPropertName属性

  • 相关阅读:
    Java 开发问题
    include和request
    VC++6.0怎么显示行号
    快速排序
    如何解决虚拟机安装centos无法全屏显示问题!
    详解.NET 4.0新特性Dynamic相关知识
    Action C#
    windbg不常用命令2
    底层枚举 网络连接时的结构
    netbios 和smb
  • 原文地址:https://www.cnblogs.com/kami-char/p/7811050.html
Copyright © 2011-2022 走看看