




已阅读5页,还剩87页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ADO NET与数据库访问 本章要点 1 理解ADO NET相关概念2 使用ADO NET内置对象访问数据库3 使用ASP NET数据控件访问数据库 1 1ADO NET简介 ADO NET是 NET的一个关于数据访问的子系统 利用ADO NET提供的支持 用户可以在ASP NET中自由访问和操作数据库 ADO NET是一个类库 里面包含很多类 利用这些类提供的对象 能够完成与数据库的连接 从数据库中查询指定的记录 向数据库插入记录 更新和删除记录等操作 ADO NET包括5个主要对象 Connection Command DataReader DataSet和DataAdapter 13 1ADO NET简介 13 1ADO NET简介 一 ADO NET数据库驱动程序ADO NET为各种类型的数据库提供不同的数据驱动程序 也称为数据提供程序 数据驱动程序提供了一个接口 实现程序之间或程序与硬件之间的信息互访机制 ADO NET提供了四种数据驱动程序 分别是SQLServer NET OleDb NET OracleDb NET和ODBC NET数据驱动程序 上述4种数据驱动程序都包含Connection Command DataReader和DataAdaper4大基本对象 13 1ADO NET简介 1 SQLServer NET数据驱动SQLServer NET驱动针对SQLServer数据库进行操作 它包含4个核心对象 分别是SqlConnection SqlCommand SqlDataReader和SqlDataAdapter 这些对象包含在System Data SqlClient命名空间中 使用时需要将这个命名空间引入到页面文件中 语法格式如下 13 1ADO NET简介 2 OleDb NET数据驱动OleDb NET能够访问那些通过OLEDB提供程序访问的数据库 这种访问方式可以适应不同类型的数据库 OleDb NET也包含4个核心对象 分别是OleDbConnection OleDbCommand OleDbDatareader和OleDbDataAdapter 这些对象包含在System Data OleDb命名空间中 使用时需要将这个命名空间引入到页面文件中 语法格式如下 13 1ADO NET简介 3 OracleDb NET数据马区动使用这种驱动能够访问Oracle8以上版本的数据库 它包含的4个核心对象是OracleConnection OracleCommand OracleDatareader和OracleDataAdapter 这些对象包含在System Data OracleClient命名空间中 使用时需要将这个命名空间引入到页面文件中 语法格式如下 13 1ADO NET简介 4 ODBC NET数据驱动通过ODBC建立的数据库都可以通过ODBC NET数据驱动来访问数据库 它包含的4个核心对象是OdbcConnection OdbcCommand OdbcDatareader和OdbcDataAdapter 这些对象包含在System Data Odbc命名空间中 使用时需要将这个命名空间引入到文件中 语法格式如下 13 1ADO NET简介 二 使用Connection对象连接数据库操作数据库的第一步是必须建立与数据库的连接 Connection对象提供了很多属性和方法进行连接操作 Connection对象常用属性和方法说明列表除了ConnectionString属性外 其他属性属于只读 即用户只能通过连接字符串来配置数据库连接 通过各种属性获取连接信息 而不能更改属性值 13 1ADO NET简介 13 1ADO NET简介 1 连接到SQLServer数据库SQLServer数据库是非常重要的数据库 使用广泛 连接SQLServer数据库的连接字符串是一个 键 值 形式的集合 键表示字符串的属性 值表示属性的值 SQLServer数据库连接字符串常用属性说明列表示例 13 1ADO NET简介 13 1ADO NET简介 2 连接到Access数据库连接到Access数据库的常用方法是使用OleDb NET数据驱动 使用这种方法的连接字符串与SQLServer数据库的连接字符串稍微不同 它必须提供Provider属性 Access数据库连接字符串常用属性说明列表示例 13 1ADO NET简介 13 1ADO NET简介 SubPage Load ByValsenderAsObject ByValeAsEventArgs DimconnAsSqlConnection NewSqlConnectionconn ConnectionString DataSource localhost server jyxy server database northwind UserId sa password conn Open message Text conn State ToStringconn Close EndSub连接到SQLServer数据库 13 1ADO NET简介 SubPage Load ByValsenderAsObject ByValeAsEventArgs DimconnAsOleDbConnection NewOleDbConnectionconn ConnectionString Provider Microsoft Jet OLEDB 4 0 DataSource Server MapPath students mdb conn Open message Text conn State ToStringconn Close EndSub连接到Access数据库 1 2使用ADO NET内置对象 使用Connection对象与数据库建立了连接之后 就可以使用各种命令操作数据库 ADO NET提供了两种途径来操作数据库 1 使用Command对象的命令 这些命令都是一次性命令 即执行一个SQL命令或一个存储过程 并返回一个操作结果 2 使用DataAdapter对象 DataAdapter是一个数据适配器 它具有更强大的功能 1 2使用ADO NET内置对象 一 使用Command执行数据库命令使用Command对象的基本语法如下 DimcommASOleDbCommand NewOleDbCommand SqlString conn 上面语法示例是以OLEDB数据驱动为基础的 其他数据源驱动与此类似 只要更新其中的类名即可 其中SqlString表示要执行的SQL语句 conn表示数据库连接实例 Command对象的属性和方法列表 1 2使用ADO NET内置对象 1 2使用ADO NET内置对象 1 使用ExecuteReader方法执行Command对象的ExecuteReader查询后 将返回一个DataReader对象 该对象是一个只读的临时数据集 ExecuteReader查询主要用来执行基本的SQL数据查询 示例程序中使用了构造函数定义了Command对象实例 也可以使用如下方式书写 DimcommAsOleDbCommandcomm NewOleDbCommand select from基本情况 conn 1 2使用ADO NET内置对象 2 使用ExecuteScalar方法使用ExecuteScalar方法查询时只返回单个值 一般使用该方法执行聚合函数 常用聚合函数包括SUM 求字段值的和 AVG 计算字段的平均数 COUNT 计算记录的个数 MAX 计算某个字段的最大值 MIN 计算某个字段的最小值 下面示例计算student mdb数据库中供应商表中有多少条记录 示例 1 2使用ADO NET内置对象 3 使用ExecuteNonQuery方法使用ExecuteScalar方法进行查询时将不返回结果 一般使用该方法来创建 修改或删除数据表 以及添加 修改或删除数据表中的记录 下面示例将向student mdb数据库供应商表中添加一条记录 示例除了添加数据外 还可以使用DELETE语句删除记录 使用UPDATE语句更新记录 使用CreateTable语句创建一张表 1 2使用ADO NET内置对象 SubPage Load ByValsenderAsObject ByValeAsEventArgs DimconnAsOleDbConnection NewOleDbConnectionconn ConnectionString Provider Microsoft Jet OLEDB 4 0 DataSource Server MapPath students mdb conn Open DimcommAsOleDbCommand NewOleDbCommand select from基本情况 conn DimrsAsOleDbDataReader comm ExecuteReadermyrs DataSource rsmyrs DataBind conn Close EndSub使用ExecuteReader方法 1 2使用ADO NET内置对象 SubPage Load ByValsenderAsObject ByValeAsEventArgs DimconnAsOleDbConnection NewOleDbConnectionconn ConnectionString Provider Microsoft Jet OLEDB 4 0 DataSource Server MapPath students mdb conn Open DimcommAsOleDbCommand NewOleDbCommand selectCOUNT 学号 from基本情况 conn DimcountsAsDouble CType comm ExecuteScalar Int32 message Text 基本情况表中共有 counts ToString 条记录 conn Close EndSub使用ExecuteScalar方法 1 2使用ADO NET内置对象 SubPage Load ByValsenderAsObject ByValeAsEventArgs DimconnAsOleDbConnection NewOleDbConnectionconn ConnectionString Provider Microsoft Jet OLEDB 4 0 DataSource Server MapPath students mdb conn Open DimcommAsOleDbCommand NewOleDbCommand insertinto基本情况 学号 姓名 性别 民族 出生日期 入学成绩 家庭住址 邮政编码 联系电话 电子邮箱 values 20050516 梦宏 男 壮 1983 10 12 487 广西大瑶自治州 713000 23766115 menghong conn comm ExecuteNonQuery conn Close EndSub使用ExecuteNonQuery方法 1 2使用ADO NET内置对象 二 使用DataReader读取数据DataReader对象允许以向前 只读的方式读取数据库中的数据 由于DataReader对象在内存中一次只存放一行数据 这种简化的数据读取方式提高了应用程序的性能 但也牺牲了很多特性 例如 在DataSet对象中支持的排序 分页 改写等功能 而DataReader对象不支持 DataReader对象一般通过Command对象的ExecuteReader方法创建 1 2使用ADO NET内置对象 显示DataReader对象中的数据有两种方法 1 利用数据控件进行绑定 把DataReader对象实例绑定到如DataGrid数据控件的DataSource属性上 然后执行控件的DataBind方法绑定数据即可显示 2 通过原始的方法借助循环语句循环显示数据 需要借助DataReader对象的属性和方法来实现 示例DataReader对象的属性和方法列表 1 2使用ADO NET内置对象 1 2使用ADO NET内置对象 三 使用DataAdapter读写数据DataAdapter对象与DataReader对象一样用于从数据库中读取数据 然后把数据填充到DataSet对象中 DataSet对象是一个驻留在内存中的一个数据容器 DataAdapter对象同时还可以把DataSet对象中更新的数据回写入数据库 DataAdapter对象在DataSet与数据库之间起到桥梁的作用 不过DataSet对象是一个非连接的数据容器 即从数据库中获取数据后 用户可以关闭数据库连接 而DataReader对象必须时刻保持与数据库的联系 关闭数据库连接也就自动取消DataReader对象 1 2使用ADO NET内置对象 1 2使用ADO NET内置对象 1 使用属性传递SQL语句DataAdapter对象通过4个属性来传递数据 由于这4个属性都是Command对象 因此给它们赋值的 接收对象也必须是Command对象 1 如果执行Select语句 则必须将对象传递给SelectCommand属性 2 如果执行Update语句 则必须将对象传递给UpdateCommand属性 3 如果执行Insert语句 则必须将对象传递给InsertCommand属性 4 如果执行Delete语句 则必须将对象传递给DeleteCommand属性 1 2使用ADO NET内置对象 示例1在默认情况下 当Connection对象执行Open方法时 DataAdapter对象将自动调用SelectCommand属性 但对于其他3个属性 则必须使用ExecuteNonQuery方法调用 示例2InsertCommand和DeleteCommand属性与此属性使用方法相同 1 2使用ADO NET内置对象 2 使用构造函数传递SQL语句用户也可以通过DataAdapter对象的构造函数快速传递SQL命令 示例使用这种方式可以省略使用DataAdapter对象的属性和初始化Command对象 使代码更加简洁易读 1 2使用ADO NET内置对象 SubPage Load ByValsenderAsObject ByValeAsEventArgs DimconnAsOleDbConnection NewOleDbConnectionconn ConnectionString Provider Microsoft Jet OLEDB 4 0 DataSource Response Write 循环显示数据表的字段名称Fori 0Tors FieldCount 1Response Write rs GetName i NextResponse Write 循环读取每一条记录Whilers ReadResponse Write 循环读取每一条记录的字段值Fori 0Tors FieldCount 1Response Write rs GetValue i NextResponse Write EndWhileResponse Write Finallyrs Close conn Close EndTryEndSub使用DataReader循环读取数据 1 2使用ADO NET内置对象 SubPage Load ByValsenderAsObject ByValeAsEventArgs 定义数据库连接DimconnAsOleDbConnection NewOleDbConnectionconn ConnectionString Provider Microsoft Jet OLEDB 4 0 DataSource Server MapPath students mdb conn Open 定义Command对象实例DimcommAsOleDbCommand NewOleDbCommand select from基本情况 conn 定义DataAdapter对象实例DimdaAsOleDbDataAdapter NewOleDbDataAdapter 把Command对象实例赋予给da的属性da SelectCommand comm 定义DataSet对象实例DimdsAsDataSet NewDataSet 把da查询的数据填充到ds中da Fill ds 基本情况 绑定数据到控件myrs DataSource ds Tables 基本情况 DefaultViewmyrs DataBind conn Close EndSub使用SelectCommand属性 1 2使用ADO NET内置对象 SubPage Load ByValsenderAsObject ByValeAsEventArgs DimconnAsOleDbConnection NewOleDbConnectionconn ConnectionString Provider Microsoft Jet OLEDB 4 0 DataSource Server MapPath students mdb conn Open DimcommAsOleDbCommand NewOleDbCommand UPDATE基本情况Set家庭住址 北京市宣武区 WHERE姓名 梦宏 conn DimdaAsOleDbDataAdapter NewOleDbDataAdapter 把Command对象实例赋予给da的属性da UpdateCommand comm 执行更新命令da UpdateCommand ExecuteNonQuery EndSub使用UpdateCommand属性 1 2使用ADO NET内置对象 SubPage Load ByValsenderAsObject ByValeAsEventArgs DimconnAsOleDbConnection NewOleDbConnectionconn ConnectionString Provider Microsoft Jet OLEDB 4 0 DataSource Server MapPath students mdb conn Open 定义DataAdapter对象实例 并直接传递参数DimdaAsOleDbDataAdapter NewOleDbDataAdapter select from基本情况 conn DimdsAsDataSet NewDataSetda Fill ds 基本情况 myrs DataSource ds Tables 基本情况 DefaultViewmyrs DataBind conn Close EndSub使用构造函数传递SQL语句 1 2使用ADO NET内置对象 四 使用DataSet操作数据DataSet对象是ADO NET中最最复杂 最强大的一个对象 与ASP中的ADO RecordSet对象有很多相似之处 不过比RecordSet要复杂得多 DataSet对象继承于System Data DataSet类 是System Data命名空间中最重要的一类 在DataSet类中包含一组结构复杂并能驻留内存的对象集合 这些对象都与内存中数据表关联 它们提供了一种不需要与数据库保持连接就可以快速访问和操作数据的机制 1 2使用ADO NET内置对象 1 2使用ADO NET内置对象 DataSet对象是一个完全独立于数据库的对象 它可以从数据库中获取数据 也可以从XML文件或手动输入获取数据 当从数据库中获取数据并创建DataSet对象之后 它就与数据库完全断开 此时DataSet对象就是一个驻留在内存中的临时数据库 每个DataSet对象由一个或多个表 DataTable 组成 每个表由一列或多列 DataColumn 和一行或多行 DataRow 组成 用户可以如同在真实数据库中那样自由操作DataSet对象中的数据 例如 增加或删除表中的列或行 对表进行筛选 排序或更新 建立数据视图或关系 1 2使用ADO NET内置对象 当对DataSet对象操作完毕之后 就可以借助DataAdapter对象将更新后的数据全部写入后台数据库 需要注意 1 DataSet对象是一个独立的内存存储空间 不具有与后台数据库联系的功能 也没有与数据库直接打交道的能力 2 DataSet对象需要借助DataAdapter对象的Fill方法从数据库中读取并填充数据 最后再需要DataAdapter对象的属性和方法将更新后的数据写入后台数据库 1 2使用ADO NET内置对象 1 2使用ADO NET内置对象 1 建立DataSet对象通过DataAdapter对象的Fill方法可以将数据表中的内容填充到DataSet对象中 而且可以填充多个表 用别名来区分 例如 da Fill ds 供应商 其中da表示一个DataAdapter对象实例 ds表示一个DataSet对象实例 这个语句能够将da对象中的数据填充到ds对象中 并为这个ds对象实例起一个 供应商 的别名 用户还可以建立更多个不同别名的DataSet对象实例 示例1 建立一个DataSet对象实例 示例2 1 2使用ADO NET内置对象 2 操作DataSet对象操作DataSet对象包括添加删除行 添加删除列 修改值 筛选和排序 建立视图和关系等 具体语法如下 1 删除列dt Columns Remove 字段名 2 删除行dr dt Rows 行号 dr Delete 1 2使用ADO NET内置对象 3 数据表统计num dt Rows Countnum dt Columns Count 4 数据排序ds Tables 表编号 DefaultView Sort 字段名称DESC 5 数据筛选ds Tables 表编号 DefaultView RowFilter 条件 示例 1 2使用ADO NET内置对象 SubPage Load ByValsenderAsObject ByValeAsEventArgs DimdtAsNewDataTable 声明DataTable对象实例DimdcAsDataColumn 声明DataColumn对象变量DimdrAsDataRow 声明DataRow对象变量 定义编号字段dc NewDataColumndc DataType System Type GetType System Int32 字段数据类型dc ColumnName 编号 定义字段名dc AutoIncrement True 定义自动递增dc AutoIncrementSeed 1 设置从0开始dc AutoIncrementStep 1 设置递增值为1dt Columns Add dc 定义姓名字段dc NewDataColumndc DataType System Type GetType System String dc ColumnName 姓名 dt Columns Add dc 定义性别字段dc NewDataColumndc DataType System Type GetType System String dc ColumnName 性别 dt Columns Add dc 定义年龄字段dc NewDataColumndc DataType System Type GetType System Int32 dc ColumnName 年龄 dt Columns Add dc 定义关键字Dimkey AsDataColumn dt Columns 编号 dt PrimaryKey key 为第0行赋值dr dt NewRow dr 姓名 张林 dr 性别 男 dr 年龄 18dt Rows Add dr 为第1行赋值dr dt NewRow dr 姓名 李红 dr 性别 女 dr 年龄 21dt Rows Add dr 将dt表填充到DataSet对象中DimdsAsNewDataSet ds Tables Add dt ds Tables 0 TableName friend 将数据绑定到控件上myds DataSource ds Tables friend DefaultViewmyds DataBind EndSub手工建立一个DataSet对象 1 2使用ADO NET内置对象 SubPage Load ByValsenderAsObject ByValeAsEventArgs DimdtAsDataTable NewDataTable member DimdrAsDataRowdt Columns Add NewDataColumn 编号 GetType Int32 dt Columns Add NewDataColumn 足球队员 GetType String DimiAsInteger 0Fori 0To11dr dt NewRowdr 0 i 1dr 1 第 Convert ToString i 1 号 dt Rows Add dr NextDimdsAsDataSet NewDataSetds Tables Add dt myds DataSource ds Tables member DefaultViewmyds DataBind EndSub手工建立一个DataSet对象 1 2使用ADO NET内置对象 SubPage Load ByValsenderAsObject ByValeAsEventArgs DimconnAsOleDbConnection NewOleDbConnectionconn ConnectionString Provider Microsoft Jet OLEDB 4 0 DataSource Server MapPath students mdb conn Open DimdaAsOleDbDataAdapter NewOleDbDataAdapter select from基本情况 conn DimdsAsDataSet NewDataSetda Fill ds 基本情况 myrs DataSource ds Tables 基本情况 DefaultViewmyrs DataBind 建立一个新DataTable对象 并命名为DataSet对象中的 学生信息 表DimdtAsNewDataTable 学生信息 dt ds Tables 基本情况 筛选出民族为汉族的学生dt DefaultView RowFilter 民族 汉 删除备注列dt Columns Remove 备注 myrs new DataSource dt DefaultViewmyrs new DataBind conn Close EndSub操作DataSet对象 筛选数据并删除列 1 3使用ASP NET数据控件 在ASP NET中提供了3个数据控件 分别是DataGrid控件 Repeater控件和DataList控件 数据控件属于Web服务器控件 专门用于显示或操作数据 其中最常用的是DataGrid控件 它是功能最强大的数据控件 1 3使用ASP NET数据控件 一 使用DataGrid控件DataGrid控件可以显示数据库中的数据 也可以对其中数据进行编辑 更新或删除操作 基本语法如下 1 3使用ASP NET数据控件 Headerstyle BackColor属性可以设置数据标题栏背景色 OnEditCommand事件属性表示单击编辑按钮时要调用的事件过程 OnCancelCommand事件属性表示单击取消按钮时要调用的事件过程 OnDeleteCommand事件属性表示单击 删除 按钮时要调用事件的过程 OnUpdateCommand事件属性表示单击更新按钮时要调用的事件过程 OnItemCommand事件属性表示单击 其他 按钮时要调用的事件过程 1 3使用ASP NET数据控件 1 3使用ASP NET数据控件 DataKeyField属性可以指定数据表关键字段 AutoGenerateColumns属性表示在显示数据库中的数据时 是否自动显示每一列 如果设置为false 则需要用户手动生成每一列 1 使用DataGrid显示数据要用DataGrid控件显示数据 需要设置DataSource属性的值 该值应是一个数据对象 如表 视图等数据源 然后调用控件的DataBind 方法绑定数据源到DataGrid控件上 示例 1 3使用ASP NET数据控件 本例使用Connection Command和DataReader对象联合读取数据库中的数据 其中用Connection对象连接数据库 用Command对象执行SQL命令 最后把执行SQL后的结果存放到DataReader对象中 并把DataReader对象绑定到DataGrid控件上 也可以使用Connection Command DataAdapter和DataSet对象联合读取数据库中的数据 或者Connection DataAdapter DataSet对象联合读取数据库中的数据 1 3使用ASP NET数据控件 2 使用表单插入数据一般在网页设计中使用表单来实现数据插入 使用表单能够实现动态操作 用户可以在线向后台数据库写入数据 示例3 使用DataGrid更新数据利用DataGrid控件提供的扩展功能 用户可以在显示的表格中直接修改数据 示例 1 3使用ASP NET数据控件 在HTML代码部分 使用一个DataGrid控件来绑定数据 通过OnEditCommand OnCancelCommand OnUpdateCommand属性设置编辑 更新和取消事件的子程序代码 用DataKeyField属性绑定每条记录的主键字段 以便操作时进行引用 在DataGrid控件主体中 通过标签绑定列 并添加一个编辑按钮列 默认显示 编辑 单击后会显示 更新 和 取消 按钮 单击不同的按钮会执行不同的操作 调用相应的子程序 1 3使用ASP NET数据控件 在控制代码部分 共有5个子程序 1 在Page Load过程中 用Page对象的IsPostBack属性判断用户是否提交了页面 如果没有提交就调用data show子程序 把数据库中的数据读取并绑定到DataGrid控件上 2 myEdit子程序是一个编辑过程 当用户单击 编辑 按钮时 OnEditCommand事件属性会被激活 并调用该子程序 在这个子程序中 CInt e Item ItemIndex 表示用户选定的行号 并把该值赋予给DataGrid控件的EditItemIndex属性 然后调用data show子程序显示数据 并设置用户选定行显示为文本框 1 3使用ASP NET数据控件 3 myCancel子程序是一个取消编辑过程 当用户单击 取消 按钮时 OnCancelCommand事件属性会被激活 并调用该子程序 在这个子程序中 EditItemIndex属性被赋予 1 表示没有可编辑的行 然后调用data show子程序显示数据 4 myUpdate子程序是一个更新编辑过程 当用户单击 更新 按钮时 OnUpdateCommand事件属性会被激活 并调用该子程序 1 3使用ASP NET数据控件 先用Connection对象建立数据库连接 再定义7个文本框控件对象实例 并把可编辑行的文本框的Text属性值赋予给这些对象变量 调用Command对象来更新数据库中的数据 e Item Cells 2 Controls 0 表示编辑行的文本框索引 在SQL字符串中tablel DataKeys CInt e Item Itemlndex 表示获取可编辑行的ID 5 data show子程序用来显示并绑定数据到DataGrid控件 1 3使用ASP NET数据控件 4 使用DataGrid删除数据如果能够理解使用DataGrid修改数据的程序代码 编写删除数据的程序就简单多了 示例在HTML代码部分 删除了OnEditCommand OnCancelCommand OnUpdateCommand属性设置 新增加了一个OnDeleteCommand属性 用来设置当单击 删除 按钮时调用myDelete子程序 1 3使用ASP NET数据控件 5 使用DataGrid分页显示数据分页是数据显示中最常见形式 分页方便了浏览 也加快了数据传输速度 使用DaraGrid控件 只需要简单设置就可以快速实现分页显示 示例在HTML代码部分 在DataGrid控件中 添加了AllowPaging PageSize和OnPageIndexChanged三个属性 然后在myPage子程序中 根据e NewPageIndex传递的页码设置DataGrid控件中CurrentPageIndex属性的值 实现翻页功能 CurrentPageIndex属性表示当前页序列号 1 3使用ASP NET数据控件 使用DataGrid控件分页显示数据 经常要用到的属性包括 AllowPaging True 必须 允许分页显示Pagesize 必须 设置每页显示记录数OnPagelndexChanged 必须 页面切换事件属性PagerStyle HorizontalAlign 设置导航条水平对齐方式 left center right PagerStyle Mode 设置导航条显示文字还是数字 NextPrey NumericPages Pagerstyle PrevPageText 设置上一页链接显示的文字PagerStyle NextPageText 设置下一页链接显示的文字 1 3使用ASP NET数据控件 6 使用DataGrid按列排序使用SQL语句Select中SortBy子句可以对要查询的数据进行排序 这个具有排序功能的SQL字符串需要在代码中预先定义 然后可以利用DataGrid控件来制定排序的字段 示例示例中涉及两个重要属性 AllowSorting true 设置DataGrid控件可以按列排序 OnSortCommand mySort 设置排序事件属性 当单击标题栏名称时会触发SortCommand事件 调用mySort子程序 1 3使用ASP NET数据控件 在控制代码部分 定义了一个全局变量SortField用来传递排序字段 在Page Load的过程中 定义排序字段为 入学成绩 字段 在mySort子程序中 根据用户单击字段传递的参数值e SortExpression来设置要排序的字段 在data show子程序中 添加了重要的一个语句 ds Tables mytable DefaultView Sort SortField该句表示把SortField变量值传递给内存内的临时查询表mytable对象 并利用它的Sort属性对数据进行排序 1 3使用ASP NET数据控件 7 自定义DataGrid显示列DataGrid控件允许用户自定义显示列 要自定义显示列 需要使用下面标签 默认显示时要显示的服务器控件 编辑时要显示的服务器控件示例 1 3使用ASP NET数据控件 使用自定义显示列能够精确控制每一列的显示样式和编辑状态 如嵌入到表框 复选框 下拉列表框等 在HTML代码部分 分别用按钮控件 文本框控件和标签控件来显示不同列的数据 自定义列的难点是如何把数据绑定到这些控件上 语法格式为 利用上面代码就可以在前台页面实现动态数据显示 还必须在前台页面导入名称空间System Data 否则会生成错误信息 1 3使用ASP NET数据控件 SubPage Load ByValsenderAsObject ByValeAsEventArgs DimconnAsOleDbConnection NewOleDbConnectionconn ConnectionString Provider Microsoft Jet OLEDB 4 0 DataSource Server MapPath students mdb conn Open DimsqlAsStringsql Select from基本情况where性别 男 DimcommAsOleDbCommand NewOleDbCommand sql conn DimdrAsOleDbDataReader comm ExecuteReadertable1 DataSource drtable1 DataBind conn Close EndSub使用DataGrid显示数据 1 3使用ASP NET数据控件 SubRegister ByValsenderAsObject ByValeAsEventArgs DimconnAsOleDbConnection NewOleDbConnectionconn ConnectionString Provider Microsoft Jet OLEDB 4 0 DataSource Server MapPath students mdb conn Open DimsqlAsStringsql InsertInto基本情况 学号 姓名 values 学生登记学号 姓名 1 3使用ASP NET数据控件 SubPage Load ByValsenderAsObject ByValeAsEventArgs IfNotPage IsPostBackThenCalldata show EndIfEndSubSubmyEdit ByValsenderAsObject ByValeAsDataGridCommandEventArgs 数据编辑子程序table1 EditItemIndex CInt e Item ItemIndex Calldata show EndSubSubmyCancel ByValsenderAsObject ByValeAsDataGridCommandEventArgs 取消操作子程序table1 EditItemIndex 1Calldata show EndSubSubmyUpdate ByValsenderAsObject ByValeAsDataGridCommandEventArgs 数据更新子程序DimconnAsOleDbConnection NewOleDbConnectionconn ConnectionString Provider Microsoft Jet OLEDB 4 0 DataSource Server MapPath students mdb conn Open Dimtb1 tb2 tb3 tb4 tb5 tb6 tb7AsTextBox 声明文本框控件变量 并与数据列字段绑定tb1 e Item Cells 2 Controls 0 tb2 e Item Cells 3 Controls 0 tb3 e Item Cells 4 Controls 0 tb4 e Item Cells 5 Controls 0 tb5 e Item Cells 6 Controls 0 tb6 e Item Cells 7 Controls 0 tb7 e Item Cells 8 Controls 0 DimsqlAsString 定义更新字符串sql Update基本情况Set学号 tb1 Text 姓名 tb2 Text 性别 tb3 Text 出生日期 CDate tb4 Text 入学成绩 CSng tb5 Text 联系电话 tb6 Text 电子邮箱 tb7 Text WhereID table1 DataKeys CInt e Item ItemIndex 1 3使用ASP NET数据控件 DimcommAsNewOleDbCommand sql conn comm ExecuteNonQuery conn Close table1 EditItemIndex 1 返回初始化状态Calldata show EndSubSubdata show 数据显示子程序DimconnAsOleDbConnection NewOleDbConnectionconn ConnectionString Provider Microsoft Jet OLEDB 4 0 DataSource Server MapPath students mdb conn Open DimsqlAsStringsql Select from基本情况 DimdaAsNewOleDbDataAdapter sql conn DimdsAsNewDataSet da Fill ds mytable table1 DataSource ds Tables mytable DefaultViewtable1 DataBind conn Close EndSub使用DataGrid更新数据 1 3使用ASP NET数据控件 SubPage Load ByValsenderAsObject ByValeAsEventArgs IfNotPage IsPostBackThenCalldata show EndIfEndSubSubmyDelete ByValsenderAsObject ByValeAsDataGridCommandEventArgs 数据删除子程序DimconnAsOleDbConnection NewOleDbConnectionconn ConnectionString Provider Microsoft Jet OLEDB 4 0 DataSource Server MapPath students mdb conn Open DimsqlAsString 定义删除字符串sql DeleteFrom基本情况 DataSource Server MapPath students mdb conn Open 1 3使用ASP NET数据控件 DimsqlAsStringsql Select from基本情况 DimdaAsNewOleDbDataAdapter sql conn DimdsAsNewDataSet da Fill ds mytable table1 DataSource ds Tables mytable DefaultViewtable1 DataBind conn Close EndSub使用DataGrid删除数据 SubPage Load ByValsenderAsObject ByValeAsEventArgs IfNotPage IsPostBackThenCalldata show EndIfEndSubSubmyPage ByValsenderAsObject ByValeAsDataGridPageChangedEventArgs 数据分页子程序table1 CurrentPageIndex e NewPageIndex 返回初始化状态tabl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金融服务合营企业股权调整与金融产品销售合同
- 模板施工环境保护合同
- 创业公司股权激励与业绩考核协议范本
- 大型养殖场承包与养殖产品品牌推广与销售合同
- 2025年文化娱乐行业虚拟现实技术应用前景研究报告
- 2025年游戏行业游戏用户消费行为分析与游戏市场前景预测报告
- 2025年医疗器械行业医疗设备创新与市场前景研究报告
- 2025年餐饮行业外卖市场分析报告
- 林业风险评估创新创业项目商业计划书
- 小麦线上直销平台创新创业项目商业计划书
- 2025建设银行秋招笔试真题及答案
- 班主任考试题库及答案
- 【数学】角的平分线 课件++2025-2026学年人教版(2024)八年级数学上册
- 阿迪产品知识培训内容课件
- 幼儿园副园长岗位竞聘自荐书模板
- 老旧小区健身设施增设规划方案
- T∕CEPPEA5004.5-2020核电厂常规岛施工图设计文件内容深度规定第5部分仪表与控制
- 2025年中国中煤能源集团有限公司人员招聘笔试备考题库附答案详解(完整版)
- 酸碱防护知识培训课件
- 值勤岗亭安装方案范本
- 2025年吉林省中考数学真题卷含答案解析
评论
0/150
提交评论