ASPNET程序设计教程第9章-数据库编程课件.ppt

上传人(卖家):三亚风情 文档编号:3514775 上传时间:2022-09-10 格式:PPT 页数:114 大小:3.43MB
下载 相关 举报
ASPNET程序设计教程第9章-数据库编程课件.ppt_第1页
第1页 / 共114页
ASPNET程序设计教程第9章-数据库编程课件.ppt_第2页
第2页 / 共114页
ASPNET程序设计教程第9章-数据库编程课件.ppt_第3页
第3页 / 共114页
ASPNET程序设计教程第9章-数据库编程课件.ppt_第4页
第4页 / 共114页
ASPNET程序设计教程第9章-数据库编程课件.ppt_第5页
第5页 / 共114页
点击查看更多>>
资源描述

1、第第9章章 数据库编程数据库编程9.1 连接数据库连接数据库9.2 执行执行SQL命令命令9.3 数据数据查询查询9.4 数据更新数据更新9.5 数据源控件数据源控件9.6 数据绑定控件数据绑定控件9.1 连接数据库连接数据库SqlConnection类对象定义的语法格式为:Dim 对象名 As New SqlConnection(ConnectionString)参数ConnectionString是连接串,用于指定数据连接方式。该参数也可以省略不写,而在创建了Connection对象之后再指定其ConnectionString属性。创建Connection对象后,便可使用Connectio

2、n对象的属性和方法。Connection对象的常用属性和方法分别列于表9.1和表9.2中。属属 性性说说 明明ConnectionString取得或设置连接字符串。ConnectionTimeout获取Connection对象的超时时间,单位为秒,为0表示不限制。即若在这个时间之内无法连接数据源,则返回失败。Database获取当前数据库或连接打开后要使用的数据库的名称,默认为Nothing。DataSource获取数据源的完整路径及文件名,若是SQL Server数据库则获取所连接的SQL Server服务器名称。PacketSize获取与SQL Server通信的网络数据包的大小,单位为字

3、节。默认为8192。此属性只有SQL Server数据库才可使用。Server Version获取数据库驱动程序的版本。State获取数据库的连接状态,返回1表示联机,0表示关闭。WorkstationId获取数据库客户端标识。默认为客户端计算机名。此属性只适用于SQL Server数据库。9.1 连接数据库连接数据库方方 法法说说 明明Open()打开与数据库的连接。注意ConnectionString属性只对连接属性进行了设置,并不打开与数据库的连接,必须使用Open()方法打开连接。Close()关闭数据库连接。ChangeDatabase()在打开连接的状态下,更改当前数据库。Crea

4、teCommand()创建并返回与Connection对象有关的Command对象。Dispose()调用Close()方法关闭与数据库的连接,并释放所占用的系统资源。9.2 执行执行SQL命令命令v9.2.1 Command对象对象创建Command对象的语法格式为:Dim 对象名 As New SqlCommand(cmdText,connection)SQL Server数据库Command对象的主要属性和方法分别列于表9.3和表9.4中。属属 性性说说 明明CommandText取得或设置要对数据源执行的SQL命令、存储过程或数据表名。CommandTimeout获取或设置Comman

5、d对象的超时时间超时时间,单位为秒,为0表示不限制。默认为30秒,即若在这个时间之内Command对象无法执行SQL命令,则返回失败。CommandType获取或设置命令类别,可取的值:StoredProcedure,TableDirect,Text,代表的含义分别为:存储过程、数据表名和SQL语句,默认为Text。数字、属性的值为CommandType.StoredProcedure、CommandType.Text等。Connection获取或设置Command对象所使用的数据连接属性。ParametersSQL命令参数集合。9.2.1 Command对象对象方方 法法说说 明明Cance

6、l()取消Comand对象的执行。CreateParameter创建Parameter对象。ExecuteNonQuery()执行CommandText属性指定的内容,返回数据表被影响行数。只有Update、Insert和Delete命令会影响的行数。该方法用于执行对数据库的更新操作。ExecuteReader()执行CommandText属性指定的内容,返回DataReader对象。ExecuteScalar()执行CommandText属性指定的内容,返回结果表第一行第一列的值。该方法只能执行Select命令。ExecuteXmlReader()执行CommandText属性指定的内容,返

7、回XmlReader对象。只有SQL Server才能用此方法。9.2.1 Command对象对象Command对象的CommandType属性用于设置命令的类别:可以是存储过程、表名或SQL语句。当将该属性值设为CommandType.TableDirect时,要求CommandText的值必须是表名而不能是SQL语句。例如:Dim cmd As New SqlCommand()cmd.CommandText=XScmd.CommandType=Command.TableDirectcmd.Connection=conn这段代码执行以后,将返回XS表中的所有记录。它等价于以下代码:Dim c

8、md As New SqlCommand()cmd.CommandText=Select*from XScmd.CommandType=Command.Textcmd.Connection=conn9.2.2 DataAdapter对象对象定义DataAdapter对象的语法格式有4种:(1)Dim 对象名 As New SqlDataAdapter()(2)Dim 对象名 As New SqlDataAdapter(SqlCommand对象)(3)Dim 对象名 As New SqlDataAdapter(SQL命令串,SqlConnection对象)(4)Dim 对象名 As New Sq

9、lDataAdapter(SQL命令串,连接字符串)例如,以下代码使用格式(1)创建DataAdapter对象:Dim conn As New SqlConnection()Dim cmd As New SqlCommand()Dim Adpt As New SqlDataAdapter()conn.ConnectionString=Data Source=.SQLEXPRESS;Initial Catalog=XSCJ;Integrated Security=True;Pooling=Falseconn.Open()cmd.Connection=conncmd.CommandText=Sel

10、ect*from XSAdpt.SelectCommand=cmd9.2.2 DataAdapter对象对象再如,以下代码使用格式(3)创建DataAdapter对象:Dim conn As New SqlConnection()conn.ConnectionString=Data Source=.SQLEXPRESS;Initial Catalog=XSCJ;Integrated Security=True;Pooling=Falseconn.Open()Dim Adpt As New SqlDataAdapter(Select*from XS,conn)9.2.2 DataAdapter对

11、象对象DataAdapter对象的常用属性和方法分别列于表9.5、表9.6中。属属 性性说说 明明ContinueUpdateOnError获取或设置当执行Update()方法更新数据源发生错误时是否继续。默认为False。DeleteCommand获取或设置删除数据源中的数据行的SQL命令。该值为Comand对象。InsertCommand获取或设置向数据源中插入数据行的SQL命令。该值为Comand对象。SelectCommand获取或设置查询数据源的SQL命令。该值为Comand对象。UpdateCommand获取或设置更新数据源中的数据行的SQL命令。该值为Comand对象。方方 法法

12、说说 明明Fill(dataset,srcTable)将数据集的SelectCommand属性指定的SQL命令执行后所选取的数据行置入参数dataSet指定的DataSet对象。Update(dataset,srcTable)调用InsertCommand或UpdateCommand或DeleteCommand属性指定的SQL命令,将DataSet对象更新到相应的数据源。参数dataSet指定要更新到数据源的DataSet对象,srcTable参数为数据表对应的来源数据表名。该方法的返回值为影响的行数。9.2.2 DataAdapter对象对象表9.7列出了DataAdapter对象的常用事件

13、。事事 件件说说 明明FillError调用DataAdapter的Fill()方法时若发生错误则触发该事件。RowUpdated当调用Update()方法并执行完SQL命令时会触发该事件。RowUpdating当调用Update()方法、在开始执行SQL命令时会触发该事件。9.3数据查询数据查询v9.3.1 通过通过DataReader查询数据查询数据1.DataReader对象的属性和方法对象的属性和方法DataReader对象的属性和方法分别列于表9.8和表9.9中。属属 性性说说 明明FieldCount获取DataReader对象包含的记录行数。IsClosed获取DataReade

14、r对象的状态,为True表示关闭。Item(name,col)获取或设置表字段值,name为字段名;col为列序号,序号从0开始。例如:objReader.Item(0)、objReader.Item(name)。ReacordsAffected获取在执行Insert、Update或Delete命令后受影响的行数。该属性只有在读取完所有行且DataReader对象关闭后才会被指定。9.3.1 通过通过DataReader查询数据查询数据方方 法法说说 明明Close()关闭DataReader对象。GetBoolean()获取序号为Col的列的值,所获取列的数据类型必须为Boolean类型;其

15、他类似的方法还有:GetByte、GetChar、GetDateTime、GetDecimal、GetDouble、GetFloat、GetInt16、GetInt32、GetInt64、GetString等。GetDataTypeName()获取序号为Col的列的来源数据类型名。GetFieldType()获取序号为Col的列数据类型。GetName()获取序号为Col的列的字段名。GetOrdinal(Name)获取字段名为Name的列的序号。GetValue()获取序号为Col的列的值。GetValues(values)获取所有字段的值,并讲字段值存放在values数组中。IsDBNul

16、l()若序号为Col的列为空值,则返回True,否则返回False。Read()读取下一条记录,返回布尔值,返回True表示有下一条记录;返回False表示没有下一条记录。9.3.1 通过通过DataReader查询数据查询数据(1)基本数据查询基本数据查询使用DataReader对象读取数据的步骤如下:使用Connection对象创建数据连接。使用Command对象的ExecuteReader()方法执行SQL查询语句或存储过程,创建DataReader对象。成功创建DataReader对象后,使用其属性和方法访问数据。9.3.1 通过通过DataReader查询数据查询数据【例例9.1】使

17、用DataReader对象访问第8章创建的XSCJ.mdb数据库中的KC数据表,将所有记录以表格的形式显示出来,如图9.1所示。9.3.1 通过通过DataReader查询数据查询数据设计步骤如下:(1)新建一个网站WebSite9,再添加一个Web窗体页,命名为“Ex9-1.aspx”。(2)切换到Ex9-1.aspx文件的“源”视图,在DIV标签中添加如下代码:课程信息表(3)切换到“设计”视图,从工具箱的数据栏中拖放一个GridView控件到此页面,双击页面空白处,在Ex9-1.aspx.vb中添加命名空间和Page的Load事件处理代码。命名空间如下:Imports System.Da

18、ta.SqlClientImports System.Data9.3.1 通过通过DataReader查询数据查询数据Page的Load事件处理代码如下:Protected Sub Page_Load(ByVal sender As Object,ByVal e As System.EventArgs)Handles Me.Load If Not IsPostBack Then Dim conn As New SqlConnection()Dim cmd As New SqlCommand()Dim objReader As SqlDataReader Dim i As Integer con

19、n.ConnectionString=Data Source=.SQLEXPRESS;Initial Catalog=XSCJ;Integrated Security=SSPI;Pooling=False 设置Connection对象的连接串 conn.Open()打开数据连接 cmd.Connection=conn 设置cmd对象的连接属性 cmd.CommandText=Select*From KC 设置cmd对象的SQL命令 objReader=cmd.ExecuteReader()执行SQL查询,返回DataReader对象 GridView1.DataSource=objReader

20、 定义DataGrid1对象的数据源 GridView1.DataBind()绑定DataGrid1对象的数据源 conn.Close()关闭数据连接 End If End Sub9.3.1 通过通过DataReader查询数据查询数据(2)带参数的数据查询带参数的数据查询例9.2所给出的是不带参数的基本SQL查询,在很多应用中,查询的条件往往是在执行中产生的,此时就要使用带参数的查询。Parameters参数集合(即ParametersCollection)包含的主要属性和方法分别列于表9.10和表9.11中。属属 性性说说 明明CountParameters参数集合中包含的参数个数。Ite

21、m(index,parameterName)获取下标为index或参数名为parameterName的参数值。例如Parameters.Item(0),可简记为Parameters(0)。9.3.1 通过通过DataReader查询数据查询数据方方 法法说说 明明Add(parameterName,dbType,size,sourceColumn)向参数集合中添加名为parameterName的参数,该参数的数据类型由参数dbType指定,数据长度为size,参数值引用自数据表的sourceColumn字段。常用的数据类型标识符有SqlTypeChar、SqlVarChar、SqlIntege

22、r和SqlDbType.VarChar、SqlDbType.Int等。参数dbType、size和sourceColumn都可省略。例如:cmd.SelectCommand.Parameters.Add(xh,SqlType.VarChar,10),将添加名为xh的参数。Clear()清除Parameters集合中的所有参数。IndexOf(parameterName)获取由parameterName指定的参数的下标。Remove(parameterName)删除指定的参数。9.3.1 通过通过DataReader查询数据查询数据Parameters参数集合中的每个参数都是参数对象。其属性列于

23、表9.12中。属性属性说说 明明DbType获取或设置参数的数据类型,参数数据类型为DbType类型,例如Boolean、DateTime等,默认为Object。表9.13是DbType和SqlDbType两类数据类型标识符间的对应关系表。Direction获取或设置参数的传递方向,可以为Input(输入)、InputOutput(输入输出)、Output(输出)和ReturnValue(传值),默认为Input。Value参数的值。9.3.1 通过通过DataReader查询数据查询数据表9.13列出了DbType和SqlDbType两类数据类型标识符间的对应关系。DbTypeSqlDbTy

24、peDbTypeSqlDbTypeBooleanBitInt32IntByteTinyIntInt64BigIntBinaryVarBinaryObjectVariantAnsiString-StringNVarCharDateTimeDateTimeAnsiStringVarCharDecimalDecimalCurrencyMoneyDoubleFloatDateDateTimeSingleRealTimeDateTimeInt16SmallIntXmlXml9.3.1 通过通过DataReader查询数据查询数据【例例9.2】使用带参数的SQL命令,查询XS数据表中姓“王”的学生信息并显

25、示,如图9.2所示。9.3.1 通过通过DataReader查询数据查询数据设计步骤如下:(1)在网站WebSite9中添加一个Web窗体页,命名为“Ex9-2.aspx”。(2)切换到Ex9-2.aspx文件的“源”视图,在DIV标签中添加如下代码:“王”性学生信息表(3)切换到“设计”视图,从工具箱的数据栏中拖放一个GridView控件到此页面,双击页面空白处,在Ex9-2.aspx.vb中添加命名空间和Page的Load事件处理代码。命名空间如下:Imports System.Data.SqlClientImports System.DataPage的Load事件处理代码所示。9.3.1

26、 通过通过DataReader查询数据查询数据【例例9.4】对于数据库XSCJ,使用Command对象执行存储过程ShowScore:首先显示图9.3所示的输入界面,用户输入学号和课程名后,点击“确定”按钮,执行查询,根据给出的学号和课程名,查看此学生的这门课成绩是否存在,若存在则返回其成绩记录,否则返回该学生的记录,并在浏览器中显示,如图9.4所示。9.3.1 通过通过DataReader查询数据查询数据9.3.1 通过通过DataReader查询数据查询数据(1)在网站WebSite9中添加一个Web窗体页,命名为“Ex9-3.aspx”。(2)在此页面中添加两个TextBox控件,ID分

27、别为“XH”和“KCH”,分别用于输入学生学号和课程名;再添加一个Button控件,ID属性使用默认名“Button1”,Text属性设置为“确定”。(3)在“设计”视图状态下双击Button控件,在代码页中分别添加命名空间和Button控件的Click事件处理代码。命名空间如下:Imports System.Data.SqlClientImports System.DataButton控件的Click事件处理代码所示。9.3.2 通过通过DataSet查询数据查询数据1.DataSet对象模型对象模型图9.5表示了DataSet对象与其他对象之间的关系。9.3.2 通过通过DataSet查询

28、数据查询数据2.DataSet对象结构对象结构DataSet对象包括3个集合:DataTableCollection(数据表的集合,包括多个DataTable对象)、DataRowCollection(行集合,包含多个DataRow对象)和DataColumnCollection(列集合,包含多个DataColumn对象)。DataSet对象的结构如图9.6所示。9.3.2 通过通过DataSet查询数据查询数据(1)DataSet对象定义对象定义创建DataSet对象的语法格式为:Dim 对象名 As New DataSet()Dim 对象名 As New DataSet(数据集名)格式未指

29、出数据集名,可在创建DataSet对象后用DataSetName属性进行设置。例如,以下代码定义数据集对象DS,其中包含数据表XS:Dim conn As String=Data Source=.SQLEXPRESS;Initial Catalog=XSCJ;Integrated Security=SSPI;Pooling=FalseDim ObjAdpt As New SqlDataAdapter(Select*from students,conn)Dim DS As New DataSet()定义DataSet对象ObjAdpt.Fill(DS,XS)填充数据集9.3.2 通过通过Data

30、Set查询数据查询数据DataSet对象的属性和方法列于表9.14中。属属 性性说说 明明CaseSensitive获取或设置在DataTable对象中字符串比较时是否区分字母的大小写。默认为False。DataSetName获取或设置DataSet对象的名称。EnforceConstraints获取或设置执行数据更新操作时是否遵循约束。默认为True。HasErrorsDataSet对象内的数据表是否存在错误行。Tables获取数据集的数据表集合(DataTableCollection),DataSet对象的所有DataTable对象都属于DataTableCollection。9.3.2

31、通过通过DataSet查询数据查询数据例9.6给出了在ASP.NET程序中使用DataSet对象访问数据库的基本操作示例,这里再分析一下其中的数据库操作代码部分:Dim conn As New SqlConnection()Dim cmd As New SqlCommand()Dim DS As New DataSet()定义数据集对象conn.ConnectionString=Data Source=.SQLEXPRESS;AttachDBFilename=|DataDirectory|XSCJ.mdf;Integrated Security=True;Pooling=False 定义连接串

32、conn.Open()打开到数据源的连接cmd.Connection=conn 设置Command对象的连接属性cmd.CommandText=Select*from XS 设置Command对象执行的SQL命令 Dim SqlDtAdpt As New SqlDataAdapter(cmd)创建DataAdapter对象SqlDtAdpt.Fill(DS,XS)填充数据集GridView1.DataSource=DS 定义DataGrid对象的数据源GridView1.DataBind()绑定DataGrid对象的数据源conn.Close()关闭到数据源的连接9.3.2 通过通过DataS

33、et查询数据查询数据(2)数据表集合和数据表集合和DataTable对象对象DataTableCollection集合的常用属性和方法分别列于表9.15和表9.16中。属属 性性说说 明明CountDataSet对象所包含的DataTable个数。Item(index,name)获取DataTableCollection中下标为index或名称为name的数据表。如DS.Tables.Item(0)表示数据集对象DS中的第一个数据表,DS.Tables.Item(1)表示第二个数据表,依次类推。DS.Tables.Item(XS)表示数据集对象DS中名称为“XS”的数据表。Item可省略,即D

34、S.Tables.Item(0)可记为DS.Tables(0),DS.Tables.Item(XS)可记为DS.Tables(XS)。9.3.2 通过通过DataSet查询数据查询数据方方 法法说说 明明Add(table,name)向DataTableCollection中添加数据表。Clear()清除DataTableCollection中的所有数据表。CanRemove(table)判断参数table指定的数据表能否从DataTableCollection中删除。Contains(name)判断名为name的数据表是否被包含在DataTableCollection中。IndexOf(ta

35、ble,name)获取数据表的序号。Remove(table,name)删除指定的数据表。RemoveAt(index)删除下标为index的数据表。9.3.2 通过通过DataSet查询数据查询数据定义DataTable对象的语法格式如下:(1)Dim 对象名 As New DataTable()(2)Dim 对象名 As New DataTabe(数据表名)表9.17、表9.18和表9.19分别列出了DataTable对象的常用属性、常用方法和事件。属属 性性说说 明明Columns获取数据表的所有字段,即DataColumnCollection集合。DataSet获取DataTable对

36、象所属的DataSet对象。DefaultView获取与数据表相关的DataView对象。DataView对象可用来显示DataTable对象的部分数据。可通过对数据表选择、排序等操作获得DataView(相当于数据库中的视图)。PrimaryKey获取或设置数据表的主键。Rows获取数据表的所有行,即DataRowCollection集合。TableName获取或设置数据表名。9.3.2 通过通过DataSet查询数据查询数据方方 法法说说 明明Copy()复制DataTable对象的结构和数据,返回与本DataTable对象具有同样结构和数据的DataTable对象。NewRow()创建一

37、个与当前数据表有相同字段结构的数据行。GetErrors()获取包含错误的DataRow对象数组。DataTable对象的常用方法对象的常用方法事事 件件说说 明明ColumnChanged当 数 据 行 中 某 字 段 值 发 生 变 化 时 将 触 发 该 事 件。该 事 件 参 数 为DataColumnChangeEventArgs,可以取的值为:Column(值被改变的字段);Row(字段值被改变的数据行)。RowChanged当数据行更新成功时将触发该事件。该事件参数为DataRowChangeEventArgs,可以取的值为:Action(对数据行进行的更新操作名,包括:Add讲

38、行加入数据表;Change修改数据行内容;Commit数据行的修改已提交;Delete数据行已被删除;RollBack数据行的更改被取消);Row(发生更新操作的数据行)。RowDeleted数据行被成功删除后将触发该事件。该事件参数为DataRowDeleteEventArgs,可以取的值与RowChanged事件的DataRowChangeEventArgs参数相同。DataTable对象的事件对象的事件9.3.2 通过通过DataSet查询数据查询数据(3)数据列集合和数据列集合和DataColumn对象对象DataColumnCollection集合的常用属性列于表9.20中。属属 性

39、性说说 明明Count数据表所包含的字段个数。Item(index,name)获 取 下 标 为 i n d e x 或 名 称 为 n a m e 的 字 段。例 如:DS.Tables(0).Columns.Item(0)表示数据表DS.Tables(0)的下标为0的字段;DS.Tables(0).Columns.Item(XH)表示数据表DS.Tables(0)的字段名为XH的字段。Item可省略。即DS.Tables(0).Columns.Item(0)可简记为DS.Tables(0).Columns(0);DS.Tables(0).Columns.Item(XH)可简记为DS.Tab

40、les(0).Columns(XH)。9.3.2 通过通过DataSet查询数据查询数据定义DataColumn对象的语法格式如下:(1)Dim 对象名 As New DataColumn()(2)Dim 对象名 As New DataColumn(字段名)(3)Dim 对象名 As New DataColumn(字段名,数据类型)表9.21列出了DataColumn对象的常用属性。属属 性性说说 明明AllowDBNull设置该字段可否为空值。默认值为true。Caption获取或设置字段标题。若未指定字段标题,则字段标题即为字段名。该属性常与DataGrid配合使用。ColumnName获

41、取或设置字段名。DataType获取或设置字段的数据类型。DefaultVale获取或设置新增数据行时,字段的默认值。ReadOnly获取或设置新增数据行时,字段的值是否可修改。默认值为False。Table获取包含该字段的DataTable对象。9.3.2 通过通过DataSet查询数据查询数据(4)数据行集合和数据行集合和DataRow对象对象定义DataRow对象的语法格式如下:(1)Dim 对象名 As DataRow(2)Dim 对象名 As DataRow=DataTable对象名.NewRow()DataRow对象的属性和方法分别列于表9.22和9.23中。属属 性性说说 明明I

42、tem(index,columnName)获取或设置指定字段的值。Table获取包含该数据行的DataTable对象。方方 法法说说 明明AcceptChanges()将所有变动过的数据行更新到DataRowCollection。Delete()删除数据行。IsNull(colName,index,Column对象名)判断指定列或Column对象是否为空值。9.3.2 通过通过DataSet查询数据查询数据【例例9.5】创建数据表Person,包含4个字段:姓名、出生日期、密码、Email地址,数据类型分别为字符串、日期、字符串、字符串类型。对于所建立的内存数据库Person,编写程序逐行将数

43、据填入该数据表。填入的数据列于表9.24中。姓姓 名名出生日期出生日期密码密码Email地址地址张洪1980-1-李莉1992-9-20123L赵平1986-5-9.3.2 通过通过DataSet查询数据查询数据并将该内存数据库的内容按图9.7所示的形式显示于浏览器中。9.3.2 通过通过DataSet查询数据查询数据设计步骤如下:(1)在网站WebSite9中添加一个Web窗体页,命名为“Ex9-4.aspx”。(2)在“设计”视图状态下,双击页面空白处,分别添加命名空间和Page的Load事件处理程序。命名空间如下:Imports System.Data添加Page的Load事件处理代码,

44、代码所示。9.3.2 通过通过DataSet查询数据查询数据3.通过通过DataSet查询数据查询数据(1)基本查询基本查询【例例9.6】使用DataTable来访问XS数据表,在浏览器中显示该表内容,如图9.8所示。9.3.2 通过通过DataSet查询数据查询数据设计步骤如下:(1)在网站WebSite9中添加一个Web窗体页,命名为“Ex9-5.aspx”。(2)在“设计”视图状态下,双击页面空白处,分别添加命名空间和Page的Load事件处理程序。命名空间如下:Imports System.DataImports System.Data.SqlClientPage的Load事件处理程序

45、源代码所示。9.3.2 通过通过DataSet查询数据查询数据(2)DataView对象及使用对象及使用定义DataView对象的语法格式为:(1)Dim 对象名 As DataView=New DataView()(2)Dim 对象名 As DataView=New DataView(table)(3)Dim 对象名 As DataView=New DataView(table,rowFilter,sort,rowState)DataView对象的主要属性和方法分别列于表9.25和表9.26中。属属 性性说说 明明AllowDelete获取或设置是否允许删除DataView中的数据行。类似的

46、属性还有AllowEdit、AllowNew。Count获取DataView对象中包含的数据行数。Item(recordIndex)获取DataView对象中下标为recordIndex的DataRowView对象(即DataView中的数据行),Item可省略不写。RowFilter获取或设置选取数据行的表达式。Sort获取或设置排序字段和方式。9.3.2 通过通过DataSet查询数据查询数据方方 法法说说 明明AddNew()添加一条记录到DataView对象中。Delete(index)删除下标为index的数据行。DataView对象的常用方法对象的常用方法9.3.2 通过通过Dat

47、aSet查询数据查询数据【例例9.7】在XS表中查询计算机科学与技术专业的学生信息并按年龄由小到大排序输出,如图9.9所示。9.3.2 通过通过DataSet查询数据查询数据设计步骤如下:(1)在网站WebSite9中添加一个Web窗体页,命名为“Ex9-6.aspx”。(2)在“源”视图下,在DIV标记中添加如下代码:计算机科学与技术专业学生信息表再在DIV标记中添加一个GridView控件,使用默认ID属性值“GridView1”。(3)在“设计”视图下,双击页面空白处,在代码页中添加命名空间,代码如下:Imports System.DataImports System.Data.SqlC

48、lient9.3.2 通过通过DataSet查询数据查询数据添加名称为CreateDataSet的函数,其代码如下:Function CreateDataSet(ByVal strSQL As String,ByVal TableName As String)As DataSet Dim conn As New SqlConnection()Dim cmd As New SqlCommand()conn.ConnectionString=Data Source=.SQLEXPRESS;Initial Catalog=XSCJ;Integrated Security=SSPI;Pooling=F

49、alse conn.Open()cmd.Connection=conn cmd.CommandText=strSQL Dim objAdpt As New SqlDataAdapter(cmd)Dim DS As New DataSet()objAdpt.Fill(DS,TableName)CreateDataSet=DS conn.Close()End Function9.3.2 通过通过DataSet查询数据查询数据Page的Load加载事件处理代码如下:Protected Sub Page_Load(ByVal sender As Object,ByVal e As System.Eve

50、ntArgs)Handles Me.Load If Not IsPostBack Then Dim DS As New DataSet()Dim DV As New DataView()定义数据视图对象 DS=CreateDataSet(Select*from XS,XS)DV.Table=DS.Tables(XS)DV.RowFilter=ZY=计算机科学与技术 设置过滤条件 DV.Sort=CSSJ DESC 设置结果排序方式 GridView1.DataSource=DV 定义DataGrid对象的数据源 GridView1.DataBind()绑定DataGrid对象的数据源 End

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(ASPNET程序设计教程第9章-数据库编程课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|