第13章 Visual Basic.NET数据库管理应用程序开发_第1页
第13章 Visual Basic.NET数据库管理应用程序开发_第2页
第13章 Visual Basic.NET数据库管理应用程序开发_第3页
第13章 Visual Basic.NET数据库管理应用程序开发_第4页
第13章 Visual Basic.NET数据库管理应用程序开发_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第十三章

VisualBasic.NET数据库管理应用程序开发

13.1数据库的基本概念13.1.1关系数据库与二维表关系数据库以二维表(称为关系)的形式表示和保存数据,每个二维表由表头和表体两部分组成。如表13.1所表示的是学生通讯录表。

表13.1学生通讯录表学号姓名性别年龄系别住址联系电话s1赵亦女17计算机9#-1016885101s2钱尔男18信息10#-5016885501s3孙珊女20信息9#-1026885102s4李思男21自动化10#-2026885202s5周武男19计算机10#-4016885401表头关系数据库中的二维表与日常生活中人们填写的表格类似,但加了一些约束的条件:(1)表中不允许出现相同的元组,即二维表中不允许存在完全相同的两行记录。(2)表中元组的顺序(即行序)可任意,在一个关系中可以任意交换两行的次序。(3)表中各个字段(或属性)必须有不同的名字。(4)表中每列必须是不可分的数据项,每列必须是原子的、不可再分的,即不能出现“列中套列”或“表中套表”的现象。13.1.2关系数据库的有关概念1.字段的数据类型根据关系模型的要求,二维表的每列中的数据必须为同一数据类型2.候选键与主键能唯一标识关系中元组的一个属性或属性集,则称该属性或属性集为候选键也称候选关键字或候选码。如果一个关系中有多个候选键,可以从中选择一个作为查询、插入或删除元组的操作变量,被选用的候选键称为主关系键(PrimaryKey),或简称为主键、主码、关系键、关键字等。在关系中,所有记录的主码中的属性必须具有确定的值,任意两个记录的主码的取值不能完全相同。13.1.3关系数据库的操作1.SQL语言对关系数据库的操作一般通过SQL语言实现,SQL语言是结构化查询语言(StructuredQueryLanguage)的缩写

2.SQL语言对数据的操作SQL语言对数据库中数据进行的操作主要有数据查询和数据更新两大类,在此给出其基本的语句格式。(1)数据查询在SQL语言中,对数据库中数据的查询可以用Select语句实现,在此只给出其其基本的语法格式,有关如下:SELECT〈字段名1〉[AS别名1][,〈字段名2〉[AS别名2],…]FROM〈表名〉[WHERE〈检索条件〉][GROUPBY<列名1>[HAVING<条件表达式>]][ORDERBY<列名2>[ASC|DESC]]其中,尖括号中的内容表示是必须写的内容,中括号内的内容可以省略,但尖括号和中括号本身不是命令的组成部分。(2)数据更新SQL语言的数据更新语句主要包括插入数据、修改数据和删除数据三种语句。①插入数据插入数据是把新的记录插入到一个存在的表中。插入数据使用语句INSERTINTO,语法格式为:

INSERTINTO<表名>[(<列名1>[,<列名2>…])]VALUES(<值>)②修改数据SQL语言可以使用UPDATE语句对表中的一行或多行记录的某些列值进行修改,其语法格式为:

UPDATE<表名>

SET<列名>=<表达式>[,<列名>=<表达式>]…[WHERE<条件>]③删除数据SQL语言使用DELETE语句删除表中的一行或多行记录,其语法格式为:

DELETEFROM<表名>[WHERE<条件>]其中,<表名>是指要删除数据的表。WHERE子句指定待删除的记录应当满足的条件,WHERE子句省略时,则删除表中的所有记录。

13.2ADO.NET简介

13.2.1ADO.NET体系结构ADO.NET体系结构图

ADO.NET提供了一组数据访问服务的类,可用于对MicrosoftSQLServer、Oracle等数据源及通过OLEDB和XML公开的数据源的一致访问。ADO.NET有两个核心组件:DataSet和.NET数据提供者(即.NETDataProvider,包括Connection、Command、DataReader、DataAdapter4个核心对象)。ADO.NET的整个体系结构如图13.1所示。

13.2.2.NETDataProvider1..NETDataProvider的功能与分类.NETDataProvider(即.NET数据提供者)在.NET框架中的主要功能是担当应用程序和数据源之间的接口,用于连接到数据库、执行命令和检索结果。.NETDataProvider提供了访问各种数据源的一组类库,主要是为了统一对于各种类型数据源的访问方式而设计的一套高效能的类数据库。在对数据库做数据访问时,首先要与数据库进行连接,连接最主要的目的是进行数据库系统的连接、帐户验证与数据库指定,接着通过查询、新建、删除、修改等SQL命令来进行数据的管理工作。但在使用程序来管理数据库之前,要先确定使用哪种类型的.NETDataProvider来访问数据库,以便能正确地访问数据库。常用的.NETDataProvider主要有SQLServer.NETDataProvider、OLEDB.NETDataProvider和ODBC.NETDataProvider三种.NETDataProvider,在此主要介绍前两种,如表13.2所示。表13.2两种主要的.NETDataProvider及功能说明数据提供者所属命名空间说明SQLServer.NETDataProviderSystem.Data.SqlClient专用于访问MircosoftSQLServer7.0或更高版本的SQLServer数据库OLEDB.NETDataProviderSystem.Data.OleDb是通用的数据库访问方法,可用于访问Access、SQLServer、dBase、Excel、Oracle、Foxpro等格式的数据库2..NETDataProvider中的核心对象与功能.NETDataProvider中包含了4个核心对象:Connection、Command、DataAdapter和DataReader。(1)Connection对象主要用于建立与数据源的连接,处理访问数据源时所需的安全设置。(2)Command对象建立与数据源的连接后,可以利用Command对象对数据源执行SQL命令并返回结果。Command对象可以把结果填充在DataReader中。(3)DataReader对象从数据源中只向前地读取只读的数据流。(4)DataAdapter对象该对象提供了Fill方法用于将数据源中的数据填充到DataSet中,并提供了Update方法用于将DataSet中修改后的数据更新到数据源。对于SQLServer.NETDataProvider和OLEDB.NETDataProvider,每种.NETDataProvider内都有Connection、Command、DataAdapter以及DataReader对象。对于不同的.NETDataProvider,对应上述四种对象的类的真正名称是不同的,如表13.3所示。

组件对象表13.3OLEDB和SQLServer.NETDataProvider数据操作类

13.2.3DataSet对象

DataSet(数据集)对象是ADO.NET的核心对象,DataSet对象支持对数据库的脱机(或离线)访问(即从数据源读取数据之后,可将数据源连接断开)。可以把DataSet看成是内存中的一个数据库。一个DataSet对象可包含若干个DataTable对象(数据表),实际的数据存储在DataTable对象中;每个DataTable对象中又包含了DataColumn对象(字段)和DataRow(记录)对象;多个表之间可能存在一定的关系,表间的关系用DataRelation对象来表示。

DataSet支持对数据的随机(向前或向后)访问。

13.2.4ADO.NET相关类的命名空间命名空间说明System.Data包含了组成ADO.NET体系结构的一些基本类System.Data.OleDb包含了运用OLEDB类型的数据提供者对象的类System.Data.SqlClient包含了运用SQLServer类型的数据提供者对象的类表13.4ADO.NET相关类的命名空间13.2.5ADO.NET的联机与脱机数据存取模式

1.联机存取模式在联机数据存取模式下,应用程序会持续连接到数据库上,应用程序自始至终都和数据库是连接着的。其数据存取的模式是Connection-Command-DataReader方法,如图13.2所示。数据库ConnectionCommandDataReader显示结果使用Connection对象创建与数据库的连接通过Command对象所提供的ExecuteReader方法,执行SQL查询命令,建立一个DataReader对象通过DataReader对象的方法,进行数据浏览图13.2ADO.NET的联机存取模式DataReader对象可以从数据库中顺向(Forward-Only)(即只能从头到尾读取数据)逐条读取数据流中的行,由于并不是一次将所有数据传向客户端的内存中,因此,能提升应用程序的性能和降低系统的负荷量,使得执行速度快且不占用内存太多的资源。但是,在DataReader对象打开的时间内,必须一直和数据库保持连接(即联机),且读取数据时必须是从头到尾顺序读取,而不能随机读取。2.脱机存取模式.NETDataProviderDataAdapterCommandSelectCommandInsertCommandUpdateCommandDeleteCommandConnectionDataReader数据库DataSet图13.3ADO.NET脱机存取模式脱机存取模式是指应用程序并不一直保持和数据源的连接,它打开数据连接并读出所需要的数据,然后关闭连接。用户可对读出的这些数据进行操作,当需要更新数据或有其他请求时,就再次打开连接。

DataAdapter对象是数据库和DataSet对象之间沟通的桥梁。这种模式运行效率高,适用于多客端的数据访问,但这种方式须耗费较多的内存空间。13.2.6ADO.NET开发数据库应用程序的一般步骤

使用ADO.NET开发数据库应用程序一般可分为以下几个步骤:(1)根据要访问的数据源情况,确定使用合适的.NETDataProvider。(2)建立与数据源的连接,需要使用Connection对象。(3)执行对数据源的操作命令,通常是SQL命令,需要使用Command对象。(4)使用数据集对获得的数据进行操作,需要作用DataReader、DataSet对象。(5)向用户显示数据,需要使用有关数据控件。13.3ADO.NET对象及其编程

13.3.1创建和使用Connection对象

Connection对象主要用于建立与指定数据源的连接,处理访问数据源时所需要的安全设置。1.Connection对象的常用属性(1)ConnectionString:获取或者设置用于打开数据库的连接字符串。(2)ConnectionTimeout:在试图建立连接的过程中,获取在终止操作并产生错误之前等待的时间,也就是超时时间。(3)DataBase:获取在数据库服务器上打开的数据库名。(4)DataSource:获取所连接的数据库服务器的实例名。2.Connection对象的常用方法(1)Open()方法:格式:PublicOverridesSubOpen()

功能:利用ConnectionString属性所指定的设置打开一个数据库连接。创建一个Connection对象并指定一个连接字符串并没有打开一个指向数据库的物理连接,需要调用对象的Open方法来打开连接。(2)Close()方法:格式:PublicOverridesSubClose()功能:关闭与数据库的连接。Close方法来关闭Connection对象,不关闭打开的连接会影响系统性能和对应用程序的操作,所以使用结束后最好关闭连接。3.Connection对象的构造函数及对象的创建(1)Connection对象的构造函数Connection对象的创建是由其对应的构造函数构造完成的。在SQLServer.NETDataProvider中用类SqlConnection的构造函数创建Connection对象,其构造函数主要有以下两种格式:①格式1:PublicSubNew()②格式2:PublicSubNew(connectionStringAsString)参数connectionString为连接字符串该字符串中指明了要连接的数据库服务器名称、数据库名称、登录用户名称以及密码等信息以下就是一个连接字符串:DataSource=CHEN\CHENSERVER;InitialCatalog=Teach;UserID=sa;Password=Chen(2)Connection对象的创建以下是利用SQLServer.NETDataProvider中的类SqlConnection的构造函数创建Connection对象的两种方法:①方法1:首先,利用SqlConnection类的构造函数SqlConnection()创建一个未初始化的SqlConnection对象:格式:DimSqlConnection对象名AsNewSqlconnection()

然后,再用一个连接字符串初始化该对象:格式:SqlConnection对象名.Connectionstring=“连接字符串”例如:

DimconnAsnewSqlConnection()

conn.ConnectionString="DataSource=CHEN\CHENSERVER;InitialCatalog=Teach;UserID=sa;Password=Chen"②方法2:利用SqlConnection类的构造函数SqlConnection(stringconnectionString)创建一个SqlConnection对象,并为该构造函数的参数指定一个连接字符串。格式:DimSqlConnection对象名AsNewSqlconnection(连接字符串)例如:

DimconnAsnewSqlConnection("DataSource=CHEN\CHENSERVER;InitialCatalog=Teach;UserID=sa;Password=Chen")13.3.2创建和使用Command对象

1.Command对象的常用属性(1)Connection:获取或设定Command对象对数据源的操作所利用的那个Connection对象,例如我们想使Command对象cmd通过conn这个Connection对象对数据源进行数据操作,则可以将其Connection属性的值设置为conn,即:cmd.Connection=cn。(2)CommandType:获取或设置CommandText属性中的内容是SQL语句、数据表名称还是存储过程的名称。CommandType的值为System.Data命名空间中的CommandType枚举类型,该枚举有以下3种成员:

CommandType.Text(默认值):表示命令类型为一字符串。

CommandType.TableDirect:命令类型为表名。

CommandType.StoredProcedure:命令类型为存储过程。(3)CommandText:获取或设置在数据源中执行的SQL语句、表名或存储过程。(4)CommandTimeout:获取或设置超时时间。2.Command对象的常用方法(1)ExecuteReader()方法:格式:PublicFunctionExecuteReader()As

SqlDataReader功能:将Command对象的CommandText属性中所指定的命令发送给Connection对象,并返回一个DataReader对象。常用来执行返回数据集的Select语句。(2)ExecuteNonQuery()方法:格式:PublicOverridesFunctionExecuteNonQuery()AsInteger功能:针对Connection对象所连接的数据库执行SQL语句并返回受影响的行数,该方法常用来查询数据库的结构或创建诸如表等的数据库对象,或通过该命令执行UPDATE、INSERT、DELETE等不产生数据集的SQL语句。对于UPDATE、INSERT和DELETE语句,返回值为该命令所影响的行数。对于其他所有类型的语句,返回值为-1。3.Command对象的构造函数与对象的创建在SQLServer.NETDataProvider中用类SqlCommand的构造函数创建Command对象,其构造函数有多种格式,其常用的格式是:格式:PublicSubNew(cmdTextAsString,connectionAsSqlConnection)说明:参数cmdText为需要发送的SQL命令,参数connection为已创建的与SQLServer建立连接的Connection对象。功能:用已创建的Connection对象和SQL命令创建一个Command对象。例如:用上面创建的Conneciton对象conn创建一个Command对象cmd:DimcmdAsNewSqlCommand("Select*FromS",conn)13.3.3创建和使用DataReader对象

1.DataReader对象的常用属性(1)Connection:获取DataReader对象关联的Connection对象。(2)FieldCount:获取当前记录行中的字段数量(即列数)。(3)RecordsAffected:获取执行SQL语句所更改、插入或删除的记录行数。(4)Item(i)或Item(“列名”):获取当前记录的第i列(第i个字段)上的数据,在当前记录中,用序号0、1、2…来分别表示每一个字段(或每一列)的序号,因此,借助该序号可以访问当前记录中的某一列上的数据。也可以用第二种格式,采用列名来访问对应的列上的数据。2.DataReader对象的常用方法(1)Close()方法:格式:PublicOverridesSubClose()功能:关闭DataReader对象。(2)Read()方法:格式:PublicOverridesFunctionRead()AsBoolean功能:使DataReader对象所获取的记录集的当前记录指针前进一个记录行。如果记录集中还有记录(即还未到文件尾),则返回值为True,否则返回False。(3)Get×××()方法:格式:PublicOverridesFunctionGet×××(iAsInteger)As×××功能:以参数i的值为列的序号(从0记数),从当前记录中读取第i列上的数据。读取的该列上的数据类型为“×××”,“×××”通常为某种数据类型说明符,如:Byte、Int32、String等。(4)GetName()方法:格式:PublicOverridesFunctionGetName(iAsInteger)AsString功能:取得序号为参数i所指定的列的字段名称,在DataReader所获取的记录集中,各列的序号分别为0、1、2、…、FieldCount-1。(5)GetOrdinal()方法格式:PublicOverridesFunctionGetOrdinal( nameAsString)AsInteger功能:取得字段名称为参数name所指定的列的序号。(6)GetValue()方法格式:PublicOverridesFunctionGetValue(iAsInteger)AsObject功能:取得当前记录中列的序号(从0计数)为参数i的字段数据。(7)IsDBNull()方法格式:PublicOverridesFunctionIsDBNull(iAsInteger)AsBoolean功能:取得当前记录中列的序号(从0计数)为参数i的字段数据是否有数据,如果该字段的值不存在或已丢失,则该方法返回True,否则,返False。【例13.1】编写一个程序,能读取SQLServer服务器CHEN\CHENSERVER上的Teach数据库中的学生信息数据表S中的各记录,该数据表的结构和内容参见表13.1。13.3.4创建和使用DataSet对象

1.DataSet对象的组成DataSet对象Tables集合对象DataTable对象0DataTable对象1DataTable对象2DataTable对象N-1…….Tables(0)Tables(1)Tables(2)……Tables(N-1)DataSetDataTableDataTableDataTableDataRelation图13.5DataSet对象的组成及Tables集合对象示意图在DataSet集合中,各种对象类型的组成结构层次,如图13.6所示。图13.6DataSet集合中各种对象类型的组成层次结构图

2.DataSet对象的构造函数及对象的创建在SQLServer.NETDataProvider中用类DataSet的构造函数创建DataSet对象,其构造函数有多种格式,其常用的格式是:PublicSubNew()例如,要创建一个名称为ds的DataSet对象,可用语句:DimdsAsNewDataSet()3.DataSet对象的Tables属性DataSet对象的常用属性为Tables属性,该属性的类型为DataTableCollection。其主要功能是获取DataSet数据集中的所有数据表(DataTable)的集合。Tables属性还具有以下子属性和有关的方法:(1)Tables属性的子属性①Tables.Count子属性:用于获取DataSet集合中,所有DataTable对象的个数。②Tables(i)或Tables(“表名”):用于获取DataSet集合中序号为i的DataTable对象(类型为DataTable)。或者用“表名”来获取DataSet集合中的某个DataTable对象。③Tables(i).TableName:取得Tables集合中序号为参数i的那个DataTable的表名。(2)Tables属性的方法:①Tables.Add()方法:该方法有多种格式,其常用格式是:格式:PublicSubAdd(tableAsDataTable)功能:向当前DataSet数据集中,添加一个DataTable对象。②Tables.Clear()方法格式:PublicSubClear()功能:清除Tables集合中所有的DataTable对象。③Tables.Remove()方法有多种格式,其常用格式是:格式:PublicSubRemove(nameAsString)功能:从Tables集合中,移除表名为参数name所指定的DataTable对象。13.3.5创建和使用DataTable对象

1.DataTable对象的组成在DataSet集合中,每个DataTable对象由DataColumn、DataRow和DataRelation对象组成,这些对象的含义如下:(1)DataTable对象:代表创建在DataSet中的数据表,逻辑结构与关系数据库中的数据表的结构(二维表格结构)一致。(2)DataColumn对象:代表DataTable中的列(字段)。(3)DataRow对象:代表DataTable中的行(记录)。(4)DataRelation对象:代表两个表之间的关系。对于DataTable对象来说,从对象的组成层次结构上,可以看作是DataColumn对象的集合和DataRow对象的集合。整个DataTable对象的组成层次结构如图13.7所示。图13.7DataTable对象的组成结构示意图

2.DataTable对象的构造函数与对象的创建在SQLServer.NETDataProvider中用类DataTable创建DataTable对象,其构造函数有多种格式,比较常用的格式是:①格式1:PublicSubNew()功能:创建一个DataTable对象的实例。例如:DimdtAsNewDataTable()②格式2:PublicSubNew(tableNameAsString)功能:创建一个表名为参数tableName所指定的DataTable对象。例如:DimdtAsNewDataTable("MyTable")表示创建一个表名为“MyTable”的DataTable对象dt。3.DataTable对象常用属性与方法(1)Columns属性:用于获取DataTable中的所有DataColumn对象的集合。它有以下常用的子属性和方法:①Columns.Count子属性:用于获取Columns集合中所有列(DataColumn对象)的个数。②Columns(i).ColumnName子属性:用于获取或设置Columns集合中,序号为i的列(DataColumn对象)的列名(或字段名),其中i的取值为0、1、2…、M-1(M为总列数)。③Columns(i).DataType子属性:用于获取或设置Columns集合中,序号为i的列(DataColumn对象)的数据类型,其中i的取值为0、1、2…、M-1(M为总列数)。④Columns.Add()方法:该方法有多种格式,其常用格式是:格式:PublicFunctionAdd(columnNameAsString,typeAsType)AsDataColumn功能:向当前数据表中增加一列,该列的列名由参数columnName指定,类型由参数type指定。⑤Columns.Clear()方法:格式:PublicSubClear()功能:删除当前数据表中的所有列。⑥Columns.Remove()方法:该方法有多种格式,其常用格式是:格式:PublicSubRemove(nameAsString)功能:从当前数据表中删除一列,该列的名称由参数name指定。(2)Rows属性:用于获取DataTable中的所有DataRow对象的集合。它有以下常用的子属性和方法:①Rows.Count子属性:用于获取Rows集合中所有行(DataRow对象)的个数。②Rows(i).Item(j)或Rows(i).Item(“列名”)子属性:用于获取或设置Rows集合中,行序号为i(DataRow对象)的那行中列序号为j(或列名)的字段值,其中行序号i的取值为0、1、2…、N-1(N为总行数),列序号j的取值为0、1、2…、N-1(N为总列数)。③Rows.Add()方法:该方法有多种格式,其常用格式是:格式:PublicSubAdd(rowAsDataRow)功能:向当前数据表中增加一个行(DataRow对象),该行由参数row指定。④Rows.Clear()方法:格式:PublicSubClear()⑤Rows.Remove()方法:格式:PublicSubRemove(rowAsDataRow)功能:从当前数据表中删除一行(DataRow对象),该行由参数row指定。(3)NewRow()方法:格式:PublicFunctionNewRow()AsDataRow功能:依据当前DataTable对象中的各列的格式,产生一个新的DataRow对象。13.3.6创建和使用DataAdapter对象

1.DataAdapter对象的常用属性DataAdapter对象的常用属性如下:(1)SelectCommand:获取或设置用于选择数据源中的记录的SQL语句或存储过程,通常把该属性设置为某个Command对象的名称,该Command对象执行SELECT语句用于读取数据源中的记录。(2)InsertCommand:获取或设置用于将新记录插入到数据源的SQL语句或存储过程,通常把属性设置为某个Command对象的名称,该Command对象执行INSERT语句用于向数据源中插入新记录。(3)UpdateCommand:获取或设置用于将更新数据源中记录的SQL语句或存储过程,通常把属性设置为某个Command对象的名称,该Command对象执行UPDATE语句用于更新数据源中的记录。(4)DeleteCommand:获取或设置用于从数据源中删除记录的SQL语句或存储过程,通常把属性设置为某个Command对象的名称,该Command对象执行DELETE语句从数据源中删除记录。2.DataAdapter对象的常用方法(1)Fill()方法:Fill方法有多种重载格式,其主要功能是从数据源中提取数据并填充数据集对象DataSet,其常用的格式有:①格式1:PublicOverridesFunctionFill(dataSetAsDataSet)AsInteger功能:向参数dataset所指定的DataSet对象中添加或刷新数据源中返回的记录行,并创建一个名为Table的DataTable对象。②格式2:PublicFunctionFill(dataSetAsDataSet, srcTableAsString)AsInteger功能:将数据源中返回的记录行填充到dataset数据集中的以参数srcTable所命名的数据表中。(2)Update()方法:Update方法有多种重载格式,主要用于更新数据源,其常用的格式有:①格式1:PublicOverridesFunctionUpdate(dataSetAsDataSet)AsInteger功能:把对参数dataSet指定的数据集进行的插入、更新或删除操作更新到数据源中,该方法常用于数据集中只有一个表的情况。②格式2:PublicFunctionUpdate( dataSetAsDataSet,srcTableAsString)AsInteger功能:把对参数dataSet指定的数据集中的由参数srcTable指定的表进行的插入、更新或删除操作更新到数据源中,该方法常用于数据集中有多个表的情况。3.DataAdapter对象的构造函数与对象的创建在SQLServer.NETDataProvider中用类SqlDataAdapter的构造函数创建DataAdapter对象,其构造函数有多种格式,其常用的格式是:①格式1:PublicSubNew()功能:创建DataAdapter的一个对象实例。例如:创建一个名称为da的DataAdapter对象的实例的语句:DimdaAsNewSqlDataAdapter()②格式2:PublicSubNew(selectCommandTextAsString, selectConnectionAsSqlConnection)功能:以参数selectCommandText为SQL语句、参数selectConnection为连接对象创建一个SqlAdapter对象实例并对其进行初始化。【例13.2】编写一个程序,能读取SQLServer服务器CHEN\CHENSERVER上的Teach数据库中的学生信息数据表S中的各记录,并可逐条翻看每一条记录。13.3.7数据绑定与DataGridView控件

(1)简单数据绑定简单数据绑定就是将控件的某个属性绑定到数据集中的单个字段,每个控件仅显示数据集中的某条记录中的一个字段的值。这一类的控件常用的有标签Label、文本框TextBox、单选按钮RadioButton、复选

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论