




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第15章基于C NET的数据库系统开发 数据库开发技术 2 15 1数据库驱动的应用系统 应用程序类型Web应用程序B SASP NET JSP PHP ASPWindows应用程序C SWPF应用程序下一代应用程序数据库关系数据库 Oracle SQLSERVER 对象数据库 数据库开发技术 3 15 2ASP NET数据库访问入门 数据绑定控件 显示数据GridViewDropdownList 数据源控件 提供数据SqlDataSource 数据库 存储数据Express版SQLSERVER完整版SQLSERVER 数据库开发技术 4 15 3以编程方式访问数据库 编码实现数据访问的所有工作 学习重点 建立连接执行命令管理数据库对象操作数据 读取和修改 为什么需要编程 向导式的数据绑定不能达到期望的控制程度向导式的数据绑定不适用于除具有可视界面的应用程序之外的情况用户界面自定义的情况 不使用数据绑定控件 优点 灵活性高缺点 对开发人员要求高 数据库开发技术 5 1数据库连接2数据库命令3数据阅读器对象4数据适配器对象5DataSet对象 以编程方式访问数据库 数据库开发技术 6 访问数据库主要涉及以下控件对象 SqlConnection 数据库连接对象SqlCommand 执行Sql命令对象SqlDataAdapter 数据适配器对象 用于采集数据并将数据送到客户端数据集DataSet中SqlDataReader 数据阅读器对象DataSet 数据集对象 一个数据集中可存放多个表中内容Datatable 数据表对象 查询结果即可送入数据集Dataset 也可送入表Datatable ADO NET对象模型 数据库开发技术 7 数据访问的操作过程 1 数据库开发技术 8 或 数据访问的操作过程 2 数据库开发技术 9 数据库开发技术 10 ADO NET对象结构 Connection Command DataSet DataReader DataAdapter 到特定数据源的连接 从数据源中执行命令 将数据保存在与数据库分开的缓存中 提供了对只读数据的高效访问 在数据库和数据集之间交换数据 数据库开发技术 11 ADO对象模型 1 Connection连接数据库 2 Command向数据库发送查询命令 3 DataReader直接读取的仅向前流数据源 4 DataAdapter提供数据源和数据库之间的接口对驻留内存中DataSet记录集 数据库开发技术 12 如果使用VisualC NET编写代码 则需要使用以下语句 usingSystem Data usingSystem Data SqlClient 数据库开发技术 13 使用 NET对象访问数据库的步骤 使用Connection对象建立与数据库的连接 使用Command对象执行SQL命令 向数据库索取数据 使用DataReader对象读取Command对象取得的数据 以DataReader对象 利用Web控件以及相应的数据绑定 显示数据 完成读取操作后 关闭DataReader对象 关闭Connection对象 数据库开发技术 14 1数据库连接DatabaseConnections 创建并配置连接对象是编程式数据访问的基础工作 数据库开发技术 15 1 1创建连接 有两种方式可以在运行时生成SqlConnection对象使用无参数构造函数简单地生成一个未初始化的SqlConnection对象SqlConnectioncn newSqlConnection 使用该构造函数接收一个如下所示的连接字符串 stringstrConn strConn DataSource SQLExpress InitialCatalog Northwind IntegratedSecurity True SqlConnectioncn newSqlConnection strConn 数据库开发技术 16 连接字符串的构成 由多个用分号隔开的 名称 值 对组成 说明ADO NET应当如何尝试连接数据源 strConn Setting1 Value1 Setting2 Value2 1 连接到SQLServer实例1 1连接到SQLServer的本地默认实例 local localhost 或 本人喜欢使用这种方式 DataSource 1 2连接到已命名实例DataSource SQLExpress 数据库开发技术 17 2 指定InitialCatalog通过InitialCatalog关键字指定希望访问的数据库DataSource SQLExpress InitialCatalog Northwind 3安全认证3 1使用特定用户名和密码进行连接DataSource SQLExpress InitialCatalog Northwind UserID MyUserID Password MyPassword 3 2使用集成安全性连接使SQLServer利用用户的Windows凭据验证用户DataSource SQLExpress InitialCatalog Northwind IntegratedSecurity True 数据库开发技术 18 连接字符串的存储 1 硬编码到应用程序代码中的每个SqlConnection对象中不易维护2 使用变量或常量来表示连接字符串 并集中存放修改后需要重新编译程序3 使用外部存储区 如注册表或数据文件4 配置文件app config和web config根元素下的子元素中为保存连接字符串而设计 数据库开发技术 19 C 中访问配置文件 Systm ConfigurationAPI来访问ConfigurationManager ConnectionStrings UserDatabase ToString 前提条件 Demo 添加程序集引用Systm Configuration dll添加名称空间引用usingSystm Configuration 数据库开发技术 20 1 2连接状态 2个原则只有在连接打开时才可以访问数据库只在代码使用数据库时才打开连接SqlConnection State枚举类型 Open Closed 打开连接SqlConnection Open 数据库开发技术 21 关闭连接的方法 1 通过数据阅读器2 使用Using块using SqlConnectionconn newSqlConnection conn Open 3 使用try catch finally结构SqlConnectionconn newSqlConnection try conn Open catch Exceptionex Handleexception finally conn Close 22 2数据库命令DatabaseCommands 数据库开发技术 23 2 1创建命令 TheSqlCommandobjecthasfourconstructorsthatallowvaryingdegreesofcontroloverthepropertiesoftheinstantiatedcommandobject SqlCommandcmd newSqlCommand SqlCommandcmd newSqlCommand SqlCommandcmd newSqlCommand SqlCommandcmd newSqlCommand 调用SqlConnection类的CreateCommand方法 数据库开发技术 24 例子 stringstrConn strSQL strConn DataSource SQLExpress InitialCatalog Northwind Trusted Connection Yes strSQL SELECTCustomerID CompanyNameFROMCustomers SqlConnectioncn newSqlConnection strConn cn Open SqlCommandcmd 使用无参数构造函数cmd newSqlCommand cmd Connection cn cmd CommandText strSQL 使用参数化构造函数cmd newSqlCommand strSQL cn 使用Connection对象的CreateCommand方法cmd cn CreateCommand cmd CommandText strSQL 数据库开发技术 25 2 2命令类型 3种类型CommandType TextCommandType StoredProcedureCommandType TableDirect 数据库开发技术 26 例子 SqlCommandcmd newSqlCommand cmd CommandText selectName SourceID SummaryfromStory cmd CommandType CommandType Text SqlCommandcmd newSqlCommand Story conn cmd CommandType CommandType TableDirect 数据库开发技术 27 2 3执行命令的方法 ExecuteNonQuery方法适用于Insert Update Delete命令返回一个整数 指示由所执行查询修改的行数 ExecuteReader方法返回一个SqlDataReader对象ExecuteScalar方法类似于ExecuteReader 只是在一个一般Object数据类型中返回结果集中的第一行第一列 如果该查询返回的数据多于一个单元格 其他数据将被丢弃 如果查询返回单一数据单元格 如以下查询 那么使用ExecuteScalar将会提高代码的性能 如 SELECTCOUNT FROMMyTable 数据库开发技术 28 2 4参数化命令 好处 有效防止SQL注入攻击提高查询命令的复用程度在命令中提供占位符SELECTOrderID CustomerID OrderDate EmployeeIDFROMOrdersWHERECustomerID CustomerID要在ADO NET对象模型中执行一个参数化查询 需要向SqlCommand对象的Parameters集合属性中添加SqlParameter对象 数据库开发技术 29 例子 添加参数 stringstrConn strSQL strConn DataSource SQLExpress InitialCatalog Northwind IntegratedSecurity True strSQL SELECTOrderID CustomerID OrderDate EmployeeID FROMOrdersWHERECustomerID CustomerID SqlConnectioncn newSqlConnection strConn cn Open SqlCommandcmd newSqlCommand strSQL cn 创建新参数cmd Parameters AddWithValue CustomerID ALFKI SqlDataReaderrdr cmd ExecuteReader while rdr Read Console WriteLine OrderID 0 OrderDate 1 d rdr GetInt32 0 rdr GetDateTime 2 rdr Close 数据库开发技术 30 参数方向 ParameterDirectionInput 默认 InputOutputReturnValue适用于存储过程的返回值 数据库开发技术 31 例子 参数方向 strSQL SELECT UnitPrice UnitPrice UnitsInStock UnitsInStockFROMProductsWHEREProductName ProductName SqlConnectioncn newSqlConnection strConn cn Open SqlCommandcmd newSqlCommand strSQL cn SqlParameterpUnitPrice pInStock pProductName pUnitPrice cmd Parameters Add UnitPrice SqlDbType Money pUnitPrice Direction ParameterDirection Output pInStock cmd Parameters Add UnitsInStock SqlDbType NVarChar 20 pInStock Direction ParameterDirection Output pProductName cmd Parameters Add ProductName SqlDbType NVarChar 40 pProductName Value Chai cmd ExecuteNonQuery Console WriteLine UnitPrice 0 pUnitPrice Value Console WriteLine InStock 0 pInStock Value 32 3数据阅读器对象DataReaderObjects 数据库开发技术 33 3 1创建数据阅读器对象 只能通过SqlCommand ExecuteReader 方法来实例化创建步骤 1 Configureaconnection 2 Configureacommandthatobtainsrowdata 3 ExecutethecommandusingtheExecuteReader method 数据库开发技术 34 3 2读取数据 Readschemadata Readrowdata Readotherpropertiesofthedatareader suchaswhetheranyrowsarecontainedinit andifsohowmany 数据库开发技术 35 4数据适配器对象DataAdapterObjects SqlDataReader和SqlCommand对象提供了数据访问的较为方便的方式 数据适配器提供另一种方式优点 代码量较少缺点 一定程度的性能损失 数据库开发技术 36 4 1配置数据适配器ConfiguringDataAdapters 数据读取功能配置的2个条件获取数据的Select语句或SqlCommand对象连接字符串或SqlConnection对象例子SqlConnectionconn newSqlConnection ConfigurationManager ConnectionStrings MyConnectionString ConnectionString SqlCommandcmd newSqlCommand SELECT FROMMyTable conn SqlDataAdapteradapter newSqlDataAdapter cmd 或SqlDataAdapteradapter newSqlDataAdapter SELECT FROMMyTable ConfigurationManager ConnectionStrings MyConnectionString ConnectionString 数据库开发技术 37 4 2提取数据库数据ExtractingDatabaseData Fill 方法DataTabledataTable newDataTable adapter Fill dataTable 数据库开发技术 38 5DataSet对象DataSetObjects 内存中的数据库DataSet对象能够在内存中表示一系列数据库对象 包括表 关系和健信息 数据库开发技术 39 5 1填充DataSet对象PopulatingDataSetobjects 方法1DataSetds newDataSet adapter Fill ds 方法2DataSetds newDataSet adapter Fill ds MyTable 可以在一个DataSet对象中填充多个表DataSetds newDataSet adapter1 Fill ds MyTable1 adapter2 Fill ds MyTable2 数据库开发技术 40 15 4WEB应用程序开发流程 需求分析设计系统设计数据库 6个步骤设计应用程序安全性页面框架与风格 母版页 主题 皮肤导航设计实现系统发布网站在服务器配置IIS 数据库开发技术 41 本节主要通过一个完整的开发实例 教学管理系统 讨论后台数据库使用SQLServer2005 前台开发工具使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校园交通安全教育目标
- 离婚协议中子女教育及探望权安排书二
- 高端科研项目终止与成果评估及奖励分配协议
- 公共停车场物业管理权转让及智能化升级合同
- 创新型离婚协议书范本:离婚协议样本与子女抚养权
- 互联网医疗私募股权投资基金委托管理协议
- 热力生产过程智能化方案
- 城市易涝区域排水管网整治项目工程方案
- 物联网灌溉施工方案
- 绿色建筑认证上海二手房买卖合同范本与环保指标
- 耳前瘘管继发感染诊疗要点
- T-YNX 002-2025 葡萄组培脱毒快繁技术规程
- 衣服投标供货方案(3篇)
- 公司电脑补贴管理办法
- 中石化对供应商管理办法
- Unit 2 Home Sweet Home 语法与阅读专项练习 (含答案) 人教版(2024)八年级上册
- 2025版安全生产法全文
- 《山居秋暝》(王维)测试题带答案
- 甲状腺肿瘤的早期诊断与治疗进展
- 中央政府投资项目后评价报告编制大纲()(发改投资20252129号)
- 绿化部门车辆管理制度
评论
0/150
提交评论