基于BS结构数据库开发技术课件_第1页
基于BS结构数据库开发技术课件_第2页
基于BS结构数据库开发技术课件_第3页
基于BS结构数据库开发技术课件_第4页
基于BS结构数据库开发技术课件_第5页
已阅读5页,还剩185页未读 继续免费阅读

下载本文档

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

文档简介

基于BS构造数据库开发技术基于BS构造数据库开发技术基于BS构造数据库开发技术本章介绍使用ASP.NET〔C#〕+SQLServer2005数据库开发基于浏览器/效劳器〔B/S〕模式的网上购物系统用户可以使用.NETFramework兼容的任何语言来编写用户自定义内容,如用户自定义函数、存储过程、触发器以及SQLServer2005中所没有的数据类型。使用.NETFramework不仅能扩展SQLServer的数据类型,还能帮助用户实现某些复杂的功能。ADO.NET提供了许多方便访问SQLServer2005的对象,利用这些内容用户可以轻松实现对SQLServer及其它数据源的数据访问。通过本章的学习,应掌握网络程序的设计思路、方法和过程,同时对SQLServer2005有进一步的学习和应用。提要2基于BS构造数据库开发技术基于BS构造数据库开发技术基于BS1本章介绍使用ASP.NET〔C#〕+SQLServer2005数据库开发基于浏览器/效劳器〔B/S〕模式的网上购物系统用户可以使用.NETFramework兼容的任何语言来编写用户自定义内容,如用户自定义函数、存储过程、触发器以及SQLServer2005中所没有的数据类型。使用.NETFramework不仅能扩展SQLServer的数据类型,还能帮助用户实现某些复杂的功能。ADO.NET提供了许多方便访问SQLServer2005的对象,利用这些内容用户可以轻松实现对SQLServer及其它数据源的数据访问。通过本章的学习,应掌握网络程序的设计思路、方法和过程,同时对SQLServer2005有进一步的学习和应用。提要2本章介绍使用ASP.NET〔C#〕+SQLServer212.1C/S构造与B/S构造

12.1.1认识C/S构造三层C/S构造图312.1C/S构造与B/S构造

12.1.1认识C/C/S构造的优点如下:能充分发挥客户端计算机的处理能力,很多工作可以在客户端处理后再提交给效劳器。客户端响应速度快。应用效劳器运行数据负荷较轻,数据平安性较高。C/S构造的缺点主要有:维护本钱高。系统扩展性差。客户端需要安装专用的客户端软件4C/S构造的优点如下:412.1.2认识B/S构造

B/S构造512.1.2认识B/S构造

B/S构造512.1.3C/S构造与B/S构造的区别Client/Server〔C/S〕构造是建立在局域网的根底上的,Browser/Server〔B/S〕构造是建立在广域网的根底上的。两种构造存在以下区别硬件环境不同。对平安要求不同。程序架构不同。软件重用度下同。系统维护不同。处理问题不同。用户接口不同。信息流不同。612.1.3C/S构造与B/S构造的区别Cli12.1.4BS的三层构造效劳员只管接待客人厨师只管烹炒客人要的美食采购员只管按客人需求采购肉,海鲜,蔬菜他们各负其责共同协作为客人提供美食顾客服务员厨师采购员饭店为什么需要三层构造712.1.4BS的三层构造效劳员只管接待客人顾客服务员厨师服务员厨师采购员离职、请假其他服务员代替离职、请假离职、请假其他厨师代替其他采购员代替8服务员厨师采购员离职、请假其他服离职、请假离职、请假其他厨其服务员厨师采购员三层构造软件模型表示层业务逻辑层数据访问层软件系统饭店9服务员厨师采购员表示层业务逻辑层数据访问层软件饭店表示层业务逻辑层数据访问层数据库为用户提供交互操作界面负责关键业务的处理和数据传递实现数据库访问效劳员厨师采购员10表示层业务逻辑层数据访问层数据库为用户提供负什么是三层构造表示层:

为用户提供一种交互式操作界面11什么是三层构造表示层:为用户提供一种交互式操作界面什么是三层构造业务逻辑层是表示层与数据访问层之间的桥梁,负责数据处理、传递。用户请求数据用户请求数据12什么是三层构造业务逻辑层是表示层与数据访问层之间的桥梁,负责什么是三层构造数据访问层数据库用户请求数据ADO.NETSQL命令实现对数据的保存和读取操作13什么是三层构造数据访问层数据库ADO.NETSQL命令实三层构造间的依赖关系三层之间依赖关系表示层业务逻辑层数据访问层14三层构造间的依赖关系三层之间依赖关系表示层业务逻辑层数据访问三层构造间的数据传递三层之间的数据传递方向业务逻辑层数据访问层表示层客户请求客户请求响应数据响应数据15三层构造间的数据传递三层之间的数据传递方向业务逻辑层数据访问三层构造:数据库业务逻辑数据访问两层结构软件模型数据库数据访问业务逻辑用户界面三层结构软件模型当数据库或用户界面发生改变时需要重新开发整个系统当数据库或用户界面发生改变时不需要重新开发,只做简单调整即可两层构造:用户界面16三层构造:数据库业务逻辑两层结构软件模型数据库数据业务用户三12.1.5如何搭建三层构造如何搭建表示层、业务逻辑层、数据访问层?如何实现各层之间的相互依赖?要掌握这一切,我们将整个实现过程分为以下步骤1712.1.5如何搭建三层构造要掌握这一切,我们将整个实现过搭建三层构造的步骤1、搭建表示层〔创立一个Web应用程序〕2、搭建业务逻辑层〔类库〕3、搭建数据访问层〔类库〕4、添加各层之间的相互依赖翻开VSIDE环境逐层搭建三层构造18搭建三层构造的步骤1、搭建表示层〔创立一个Web应用程序〕翻宠物商店微软展示.NET企业开发的范例。与Sun的PetStore的商业竞争。一个小型的电子商务案例。表达了微软推广的开发思想和设计理念。分22个工程,经典的系统,从设计的思想到最好的编码,学习参考价值很高。19宠物商店19架构简介ASP.NETWebBLLDALFactoryOracleDALSQLServerDALIDALModel表示层业务层数据层典型的三层构造20架构简介ASP.NETWebBLLDALFactoryOr翻开VS开发环境,依次选择"文件"→"新建"→"工程"命令。在翻开的"新建工程"对话框中,选择工程类型为"VisualStudio解决方案",选择模板为"空白解决方案"。填写解决方案的名称,并指定保存位置搭建3层构造21翻开VS开发环境,依次选择"文件"→"新建"→"工程"命令。在“解决方案资源管理器〞中,右击解决方案名称,在快捷菜单中选择"添加"→“新建网站"在“添加新网站〞对话框中,选择“ASP.NETWeb窗体网站",选择位置为"文件系统",并设置网站路径搭建3层构造〔1〕——表示层22在“解决方案资源管理器〞中,右击解决方案名称,在快捷菜单中选在“解决方案资源管理器〞中,在解决方案名称上右击鼠标,在弹出的快捷菜单中选择"添加"→"新建工程"命令在翻开的“新建工程〞对话框中,选择工程类型为“VisualC#〞,选择模板为“类库〞。填写工程的名称为“###.BLL〞,该工程用于实现业务逻辑层。此时工程的保存位置已经默认输入了,是刚刚创立空白解决方案时产生的路径搭建3层构造〔2〕——业务逻辑层23在“解决方案资源管理器〞中,在解决方案名称上右击鼠标,在弹出搭建数据访问层与搭建业务逻辑层的步骤类似,不同的是需要重新填写工程名称为“###.DAL〞搭建3层构造〔3〕——数据访问层24搭建数据访问层与搭建业务逻辑层的步骤类似,不同的是需要重新填在三层构造开发中,通常还会使用模型层。模型层包含所有与数据库中的表相对应的实体类。表示层、业务逻辑层和数据访问层三层之间通过传递实体对象来到达数据传递的目的。创立模型层的步骤与搭建业务层和数据访问层类似,但需重新填写工程名称为“###.Models"搭建3层构造〔4〕——模型层25在三层构造开发中,通常还会使用模型层。模型层包含所有与数据库在“解决方案资源管理器〞中,三层构造的根本框架已建好。业务逻辑层数据访问层模型层表现层26在“解决方案资源管理器〞中,三层构造的根本框架已建好。业务逻添加表示层对业务逻辑层及模型层的依赖:右击“解决方案资源管理器〞的表示层,在弹出的快捷菜单中选择"添加引用"命令在翻开的"添加引用"对话框中,选择"工程"选项卡,选中名称为“###.BLL"和“###.Models"的两个工程,单击"确定"搭建3层构造(5)——添加各层之间依赖关系27添加表示层对业务逻辑层及模型层的依赖:右击“解决方案资源管理用同样的方法在业务逻辑层添加对数据访问层和模型层的依赖,以及数据访问层对模型层的依赖三层构造及各层之间的依赖关系创立完毕搭建3层构造(5)——添加各层之间依赖关系28用同样的方法在业务逻辑层添加对数据访问层和模型层的依赖,以及目前,用于动态Web应用程序开发的有多种语言,例如ASP、ASP.NET、PHP和JSP等。ASP.NET依据其功能强大、编写容易等特点得到了广泛应用。ASP.NET是微软推出的新一代动态Web应用程序开发平台,是一种建立动态Web应用程序的新技术。它是.NET框架的一局部,可以使用任何.NET兼容的语言〔如VisualB、C#、J#、C++〕编写ASP.NET应用程序。概述29目前,用于动态Web应用程序开发的有多种语言,例如ASP、AWebForm允许在网页根底上建立强大的窗体。当建立页面时,可以使用ASP.NET效劳端控件来建立常用的UI元素,并对它们编程来完成一般的任务。这些控件允许使用内建可重用的组件和自定义组件来快速建立WebForm代码简单化,提升程序开发人员的工作效率。与Java、PHP,ASP3.0、Perl等相比,ASP.NET具有方便性、灵活性、性能优、工作效率高、平安性高、完整性强及面向对象等特性,是目前主流的网络编程技术之一。30WebForm允许在网页根底上建立强大的窗体。12.2.1CLR概述CLR是.NETFramework的核心,和Java虚拟机类似,也是一个运行时环境,负责资源管理提供内存管理、线程管理、平安性和远程处理等核心效劳保证应用和底层操作系统之间必要的别离可由面向CLR的所有语言使用313112.2.1CLR概述CLR是.NETFramewor

.NET的运行环境

软件要求Internet信息效劳管理器〔IIS〕VisualStudio集成开发环境硬件的最低要求CPU:IntelPentium

Ⅲ-class600MHz以上。内存:256MB以上。全部安装〔包括帮助文档,即MSDN〕,安装盘上至少需要3.8GB磁盘空间,系统盘至少1GB磁盘空间。不含MSDN的安装,安装盘上至少需要2GB磁盘空间,系统盘上至少需要1GB磁盘空间。显示器:至少支持800

×

600像素,256色〔建议1024

×

768像素,增强色16位〕。32.NET的运行环境

软件要求32中的文件类型33中的文件类型33C#是一种基于.NET平台的面向对象的程序设计语言。在程序设计过程中,C#可以定义类、变量、属性、方法、接口、事件等多种元素,遵循面向对象的根本特性,支持封装、继承及多态。支持根本的数据类型。.NET中对类的组织使用命名空间〔namespace〕,允许自定义命名空间。程序中所有的元素包含在类中。类是程序设计和运行的最小单位。命名空间的定义及使用类的定义及使用变量的定义及使用属性的定义及使用方法的定义及方法调用接口的定义与继承事件的定义12.2.4C#程序设计根底34C#是一种基于.NET平台的面向对象的程序设计语言。在程序设C#与Java的比照相似:包括了单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。不同:C#借鉴了Delphi的特点,与COM直接集成C#与C/C++具有极大的相似性由C和C++衍生出来的面向对象的编程语言在继承C和C++强大功能的同时去掉了一些复杂特性〔例如没有宏、不允许多重继承等〕C#综合了VB简单的可视化操作和C++的高运行效率12.2.4C#程序设计根底35C#与Java的比照12.2.4C#程序设计根底35网站的根本构造在解决方案资源管理器的表现层中可以看到网站根本构造。网站的默认项主要有:App_Data文件夹、Default.aspx文件和Web.config文件。App_Data文件夹。ASP.NET网站保存的文件夹,用来放置数据库文件。Default.aspx文件。默认添加的asp页面文件,用于设计网站的界面。web.config文件。基于标签的格式配置文件,用于对网站的一些工程进展配置。12.2.5利用C#开发数据库应用系统的过程36网站的根本构造12.2.5利用C#开发数据库应用系统的过程添加新项在解决方案资源管理器,右击新建的网站解决方案,选择“添加新项〞,翻开向导页面,选择要添加的工程类型,修改工程名称,点击“添加〞按钮即可。在实际开发过程中,可以将不同类型的文件,放在不同的文件夹以区分不同的层次。37添加新项37添加数据库假设使用与VisualStudio集成的SQLServer数据库,系统默认将数据库添加在App_Data文件夹下。右击App_Data文件夹,选择“添加新项〞,翻开向导页面。在向导页面,选择数据库类型,修改数据库实例名称,点击“添加〞按钮。添加成功后,在App_Data文件夹下可看到该数据库文件。在效劳器资源管理器窗口,也可以看到新添加的数据连接38添加数据库38界面设计

Web窗体网站页面分为源页面和设计页面设计页面为可视化开发界面,遵循所见即所得的开发理念,通过拖拽工具箱控件,直接布局界面。如果对html代码熟悉的话,可以在源页面编辑界面.39界面设计39业务逻辑处理的设计编码与页面关系严密的业务逻辑代码,通常在页面文件对应的.cs文件中编写,如Main.aspx界面对应Main.aspx.cs文件。40业务逻辑处理的设计编码40后台业务逻辑与数据库关系密切的处理过程,可以在页面文件的.cs文件中编写代码完成,也可以建立单独的业务逻辑类,通过传递消息的方式,将前台业务逻辑处理过的数据传递过来,再通过该层业务逻辑类进展数据库的存取。41后台业务逻辑41数据库访问设计对数据库的访问,如果数据库操作代码是在页面文件的.cs文件,或者单独的业务逻辑类中编写,在每次进展数据库访问时,需要设置数据库连接参数,建立并翻开数据库连接。另一种方法是建立单独的数据库访问类,该类中设置数据库连接参数,并返回一个数据库连接对象。其他类只要获取该对象即可直接使用,所以公共的数据库访问类一般为static类。42数据库访问设计42创立实体类模型层中,与数据库中每个表相对应的有一个实体类如:将默认的类名Class1.cs重命名为“User.cs〞〔其它实体类可通过“添加〞“类〞〕,该实体类与数据库中的表Users相对应。3层架构各层之间的协同工作每个成员变量对应表中的一列43创立实体类3层架构各层之间的协同工作每个成员变量对应表中的一创立数据访问类针对模型层中的每个实体类,数据访问层有一个对应的数据访问类如:针对User实体类,创立一个对应的UserService类,用于对数据表Users的数据处理3层架构各层之间的协同工作44创立数据访问类3层架构各层之间的协同工作44创立业务逻辑类针对模型层中的每个实体类,业务逻辑层中也有一个对应的类。如,针对User实体类,创立一个对应的UserManager类,在其中添加用于登录验证的业务方法3层架构各层之间的协同工作45创立业务逻辑类3层架构各层之间的协同工作45编写表示层代码3层架构各层之间的协同工作46编写表示层代码3层架构各层之间的协同工作46运行程序前,还需设置启开工程。在"解决方案资源管理器"中的表示层上单击鼠标右键,在弹出的快捷菜单中选择"设为启开工程"命令,将表示层设置为启开工程右击Login.aspx,把登录页面设为起始页3层架构各层之间的协同工作47运行程序前,还需设置启开工程。3层架构各层之间的协同工作47数据库开发ADO.NET提供对MicrosoftSQLServer数据源以及通过OLEDB和XML公开数据源的一致访问。ADO.NET是一组向.NET程序开发者公开数据访问效劳的类。ADO.NET为创立分布式数据共享应用程序提供了一组丰富的组件。它提供了对关系数据、XML和应用程序数据的访问,因此是.NETFramework中不可缺少的重要组成局部。ADO.NET支持多种开发需求,包括创立由应用程序、工具、语言或Internet浏览器使用的前端数据库客户端和中间层业务对象。另外,由于ADO.NET被集成到.NETFramework中,所以它可用于任何.NET语言,例如C#。应用程序开发者可以使用ADO.NET来连接各种数据源,并检索、处理和更新所包含的数据。ADO.NET主要包括Connection、Command、DataReader、DataSet、DataAdapter对象。48数据库开发ADO.NET提供对MicrosoftSQL读取数据库示意图这5个对象提供了2种读取数据库的方式:一种是利用Connetction、Command和DataReader对象,这种方式只能读取数据库,不能修改记录,假设只是查询记录,这种方式的效率更高些;第二种是利用Connection、Command、DataAdapter和DataSet对象,这种方式更灵活,可以对数据库进展各种操作。49读取数据库示意图这5个对象提供了2种读取数据库的方式:一种是12.3.1使用开发数据库应用程序的一般步骤〔1〕根据使用的数据源,确定使用的数据提供程序;〔2〕建立与数据源的连接,需使用Connection对象;〔3〕执行对数据源的操作命令,通常是SQL命令,需使用Command对象;〔4〕使用数据集对获得的数据进展操作,需使用DataReader、DataSet等对象;〔5〕向用户显示数据,需使用数据控件。5012.3.1使用开发数据库应用程序的一般步骤〔1〕根据使Connection对象用于连接到数据库和管理对数据库的事务ConnectionString属性Database属性DataSource属性Open方法Close方法对于不同的数据库,ADO.NET采用不同的Connection对象进展连接。SqlConnectionOleDbConnectionOdbcConnectionOracleConnection翻开连接后获取当前数据库的名称,或翻开连接前获取连接字符串中指定的数据库名获取要连接的数据库效劳器的名称51Connection对象用于连接到数据库和管理对数据库的事务SqlConnection连接SQLServer数据库,如SQLServer2000、SQLServer2005、SQLServer2008及以上版本OracleConnection连接Oracle数据库,如Oracle10g、11gOleDbConnection连接支持OLEDB的数据库,如AccessOdbcConnection连接任何支持ODBC的数据库,如MySQL数据库Connection各个对象类功能52SqlConnection连接SQLServer数据库,如【例】实例环境:SQLServer效劳器的名称为LISA;登陆模式为Windows身份验证模式;连接的数据库为CompanySales。配置SqlConnection对象的ConnectionString属性的字符串如下:"SERVER=LISA;InitialCatalog=CompanySales;IntegratedSecurity=SSPI;";【例】实例环境如下:SQLServer效劳器的IP地址为;登陆模式为SQLServer身份验证模式;连接的数据库为CompanySales;登陆的帐户名称为sa;登陆密码为:123456;配置SqlConnection对象的ConnectionString属性的字符串如下:"SERVER=;InitialCatalog=CompanySales;UserID=sa;Password=123456";用SSPI支持的平安包进展用户身份验证,SSPI是Microsoft的平安支持提供器接口,是获得验证、信息完整性、信息隐私等集成平安效劳的公用API53【例】实例环境:SQLServer效劳器的名称为LISA使用SqlConnection对象连接SQLServer2005数据库首先定义一个新的SqlConnection对象 SqlConnectionmySqlConnection;设置一个针对SqlServer2005数据库的连接字符串 stringconnectionString=“server=localhost;database=teaching;uid=sa;pwd=sa〞;将数据库连接字符串传入SqlConnection( )构造函数 mySqlConnection=newSqlConnection(connectionString);翻开数据库连接mySqlConnection.Open( );关闭数据库连接 mySqlConnection.Close( );54使用SqlConnection对象连接SQLServer使用Connection对象与数据源建立连接后,可使用Command对象对数据源执行查询、添加、删除和修改等各种操作。Command对象的常用属性和方法如下。

CommandType属性

CommandText属性

Connection属性

ExecuteNonQuery方法

ExecuteReader方法

Command对象主要可以用来对数据库发出一些指令,例如可以对数据库传递查询、新增、修改、删除数据等指令,以及呼叫存在数据库中的预存程序等DataSetCommand对象主要是在数据源以及DataSet之间执行数据传输的工作,它可以透过Command对象传递命令后,将取得的数据放入DataSet对象。Command对象要执行命令的类型对数据源执行的SQL语句或存储过程名或表名Command对象使用的Connection对象的名称执行SQL语句并返回受影响的行数执行返回数据集的Select语句55使用Connection对象与数据源建立连接后,可使用Com[例]使用Command对象向数据库中的表添加数据。SqlConnectionmySqlConnection=newSqlConnection(connectionString);mySqlConnection.Open( ); stringsqlstr=“insertintocourse(cname)values(‘数据库应用与开发’〕〞;SqlCommandmyCmd=newSqlCommand(sqlstr,mySqlConnection);myCmd.ExecuteNonQuery();mySqlConnection.Close( );56[例]使用Command对象向数据库中的表添加数据。56DataReader对象是一个简单的数据集,用于从数据源中检索只读数据集,常用于检索大量数据。根据.NETFramework数据提供程序不同,DataReader也可以分成SqlDataReader、OleDbDataReader等几类。通过Command对象的ExecuteReader方法从数据源中检索数据来创立DataReader对象。当需要循序的读取数据而不需要其他操作时,可以使用此对象。DataReader对象的常用属性和方法如下。FieldCount属性:获取当前行的列数。Read方法:使DataReader对象前进到下一条记录。57DataReader对象是一个简单的数据集,用于从数据源中[例]使用DataReader对象读取数据SqlConnectionmySqlConnection=newSqlConnection(connectionString);mySqlConnection.Open( ); stringsqlstr=“selectsnamefromstudent〞;SqlCommandmyCmd=newSqlCommand(sqlstr,mySqlConnection);SqlDataReadermyReader=myCmd.ExecuteReader();ArraymyArray=newArray();while(myReader.Read())myArray.Add(myReader[“sname〞].ToString);myReader.Close();mySqlConnection.Close( );58[例]使用DataReader对象读取数据58DataSet对象是创立在内存中的集合对象,它包含数据表、表的约束、索引和关系。可视为一个暂存区〔Cache〕,可把从数据库中所查询到的数据保存起来,甚至可以将整个数据库显示出来。一个DataSet对象包括一组DataTable对象和DataRelation对象,其中每个DataTable对象由DataColumn、DataRow和DataRelation对象组成。使用DataSet对象的方法有以下几种,这些方法可以单独应用,也可以结合应用。以编程方式在DataSet中创立DataTable、DataRelation和Constraint,并使用数据填充通过DataAdapter用现有关系数据源中的数据表填充DataSet。使用XML加载和保持DataSet内容59DataSet对象是创立在内存中的集合对象,它包含数据表、DataAdapter对象是DataSet对象和数据源之间联系的桥梁,主要是从数据源中检索数据、填充DataSet对象中的表或者把用户对DataSet对象做出的更改写入到数据源。DataAdapter对象的Fill方法,用于从数据源中提取数据以填充数据集。Fill方法需要两个参数,一个是被填充的DataSet的名字,另一个是给埴充到DataSet中的数据命名,如果把填充的数据看成一张表,第二个参数就是这张表的名字。60DataAdapter对象是DataSet对象和数据源之间联[例]使用DataAdapter对象填充DataSet对象DataSetmyDS=newDataSet();stringsqlstr=“select*fromstudent〞;SqlConnectionmySqlConnection=newSqlConnection(connectionString);mySqlConnection.Open();SqlDataAdaptermyDA=newSqlDataAdapter(sqlstr,mySqlConnection);myDA.fill(myDS,“student〞);61[例]使用DataAdapter对象填充DataSet对象6之后可以用DataTable、DataColumn、行DataRow等对象来描述和操纵myDS中的数据,如:DataTablestuDT=myDS.Tables[“student〞];或者DataTablestuDT=myDS.Tables[0];也可以如下引用DataSet对象中的行和列:stuDT.rows[i][“sname〞]62之后可以用DataTable、DataColumn、行Dat数据控件

中提供了多种数据控件,用于在Web页中显示数据。这些控件具有丰富的功能,例如分页、排序、编辑等。63数据控件

中提供了多种数据控件,用于在Web页中显示数据。

GridView控件GridView控件以表格的形式显示数据源中的数据。每列表示一个字段,而每行表示一条记录。使用GridView控件时,可以在不编写代码的情况下实现分页、排序等功能。在GridView控件中显示数据比较方便,只要把GridView控件绑定到一个数据源即可。GridView控件显示数据64GridView控件GridView控件以表格的形式显示数GridView1.DataSource=myDS.Tables[0];GridView1.DataBind();65GridView1.DataSource=myDS.Tabl

使用GridView控件分页显示数据GridView控件有一个内置分页功能,可支持根本的分页功能。在.aspx页面中,添加GridView控件设置其AllowPaging属性为true,即表示允许分页;然后为PageSize属性设置一个数字,用来控制每个页面中显示的记录数;最后,在GridView控件的PageIndexChanging事件中设置PageIndex属性为当前页的索引值,并重新绑定GridView控件。66使用GridView控件分页显示数据G

DataList控件DataList控件可以使用模板与定义样式来显示数据,并进展数据的选择、删除和编辑。DataList控件最大的特点就是一定要通过模板来定义数据的显示格式。DataList控件支持的模板如下:〔1〕AlternatingItemTemplate〔2〕EditItemTemplate〔3〕FooterTemplate〔4〕HeaderTemplate〔5〕ItemTemplate〔6〕SelectedItemTemplate〔7〕SeparatorTemplate67DataList控件DataList控件可以使用模板与定义数据绑定数据绑定的实现途径:自动数据绑定:将数据控件的DataSourceID属性值设定为数据源控件,那么数据控件可利用数据源控件的功能对数据进展操作。手工数据绑定:直接将数据源赋值给数据控件的DataSource属性,再调用数据控件的DataBind〔〕方法直接在页面中放置绑定表达式,然后在页面的Page_Load中调用页面类的DataBind〔〕方法实现数据绑定68数据绑定数据绑定的实现途径:68第3种途径的数据绑定语法如下:

<语言标记…属性='<%数据绑定表达式%>'runat="server">如果表达式的结果直接输出到网页上,那么数据绑定的语法如下: 字符串:<%数据绑定表达式%>69第3种途径的数据绑定语法如下:69系统分析与设计

12.4.1需求分析美观友好的操作界面,能保证系统的易用性;标准、完善的根底信息设置;商品分类详尽,可按不同类别查看商品信息;按商品大类及商品名称进展模糊查询;实现网上购物;新品及特价商品展示;商品销售排行……70系统分析与设计

12.4.1需求分析7012.4.2功能构造分析网上购物商城顶层用例图

7112.4.2功能构造分析网上购物商城顶层用例图前台功能模块网上购物商城前台功能构造图72前台功能模块网上购物商城前台功能构造图72后台管理模块网上购物商城后台功能构造图73后台管理模块网上购物商城后台功能构造图73数据库设计

12.5.1数据库的分析12.5.2创立数据库和数据表74数据库设计

12.5.1数据库的分析7412.5.3逻辑构造设计数据表概要说明数据表树型构造图7512.5.3逻辑构造设计数据表概要说明数据表树型构造图75视图网上购物商城中共创立了两个视图,名称分别为vw_GoodsInfo和vw_OrderInfo。存储过程为了防止有人利用非法方式登录网站,在网上购物商城系统中特创立了两个存储过程,名称分别为proAdminInfo和proMemberInfo。76视图76公共类的定义

文件配置为了方便对数据的操作和限制,文件中需要配置一些参数。<?xmlversion="1.0"?><configuration><appSettings><!--PetShopDALconfigurationsettings.Possiblevalues:PetShop.SQLServerDALforSqlServer,PetShop.OracleServerDALforOracle.--> <addkey="WebDAL"value="PetShop.SQLServerDAL"/> <addkey="OrdersDAL"value="PetShop.SQLServerDAL"/> <addkey="ProfileDAL"value="PetShop.SQLProfileDAL"/> ……

</appSettings> </connectionStrings>……</configuration>77公共类的定义

文件配置77类库和类

以类的形式来组织、封装一些常用的函数和事件,不仅可以提高代码的重用率,也大大方便了代码的管理。在网站开发工程中以类库的形式来组织数据访问层和业务逻辑层涉及的所有相关类用关键字using来引用类库中的资源78类库和类

以类的形式来组织、封装一些常用的函数和事件,不仅数据库表对应的类数据库中的表类库中的类表中的列定义类的成员定义可以在工程中新建类库,如petshop中的model,其中包含的每一个类对应于数据库中的一个表.79数据库表对应的类数据库中的表类库中的类表中的列定义类的成员接口类在工程中新建类库,如petshop中的IDAL,其中包含了数据访问层的接口类.80接口类在工程中新建类库,如petshop中的IDAL,

DAL的实现类在工程中新建类库,如petshop中的SQLServerDAL,其中包含了接口类对SQLServer数据库的实现.81DAL的实现类在工程中新建类库,如petshop中的SQ数据库操作类在系统中再新建一个公共类库BLL,里面的类用来执行各种数据库操作〔BLL层的实现〕。82数据库操作类在系统中再新建一个公共类库BLL,里面的类用来主要功能设计网站前台首页设计83主要功能设计网站前台首页设计83会员注册页面设计

会员注册页面运行结果84会员注册页面设计

会员注册页面运行结果8布置页面时的常用控件Label控件TextBox控件Button控件RequiredFieldValidator控件CompareValidator控件RegularExpressionValidator控件Image控件GridView控件后台功能代码85布置页面时的常用控件85购物车模块设计购物车页面的设计主要是为了方便会员购置商品及去除一些已经选择但又不想要的商品,会员在该页中可以单击“结账〞超级链接按钮以确认购置所选商品。Label控件HyperLink控件LinkButton控件GridView控件86购物车模块设计购物车页面的设计主要是为了方便会员购置商品选择“编辑列〞选项87选择“编辑列〞选项87“字段〞对话框88“字段〞对话框88后台功能代码89后台功能代码89

VisualStudio2005的调试工具“标准工具栏〞中的调试按钮“标准工具栏〞中的调试按钮90VisualStudio2005的调试工具“标准工具栏使用断点插入断点91使用断点插入断点91设置断点92设置断点92开场执行中断执行停顿执行单步执行运行到指定位置93开场执行93程序运行到光标处选择“运行到光标处〞94程序运行到光标处选择“运行到光标处〞94错误处理错误处理,是指程序执行遇到的错误情况或意外行为时进展有效的处理和解决。本节将介绍错误处理语句,以便更好地解决在设计程序时发生的异常情况。一个try块可以有以下3种情况:有一个或多个相关的catch块,无finally块;有一个finally块,无catch块;包含一个或多个catch块,同时有一个finally块。95错误处理错误处理,是指程序执行遇到的错误情况或意外行为时进网站编译与发布网站成功开发完成之后,需要进展网站编译。网站编译的优点主要有两个:其一,提高代码的平安性,防止反编译;其二,提高网站的整体性能和运行效率。96网站编译与发布网站成功开发完成之后,需要进展网站编译。96网站编译“SDK命令提示〞对话框Aspnet_compiler编译工具编译网站97网站编译“SDK命令提示〞对话框Aspnet_compil编译后的网站的文件98编译后的网站的文件98网站发布网站发布将成功编译后的网站发布到Web效劳器上,提供给广阔用户进展访问。可以通过VisualStudio2005发布网站到Internet,网络必须使用MicrosoftVisualStudio2005支持的连接协议;99网站发布99本章介绍了ASP.NET+SQLServer2005数据库开发网上购物商城的全过程,通过学习本章,不仅可以熟悉开发网站的特点和方法、网站调试的方法、网站的编译与发布,还可以对数据库系统的开发过程有一个系统的了解。小结100本章介绍了ASP.NET+SQLServer2005数据ThankYou世界触手可及携手共进,齐创精品工程ThankYou世界触手可及携手共进,齐创精品工程101基于BS构造数据库开发技术基于BS构造数据库开发技术基于BS构造数据库开发技术本章介绍使用ASP.NET〔C#〕+SQLServer2005数据库开发基于浏览器/效劳器〔B/S〕模式的网上购物系统用户可以使用.NETFramework兼容的任何语言来编写用户自定义内容,如用户自定义函数、存储过程、触发器以及SQLServer2005中所没有的数据类型。使用.NETFramework不仅能扩展SQLServer的数据类型,还能帮助用户实现某些复杂的功能。ADO.NET提供了许多方便访问SQLServer2005的对象,利用这些内容用户可以轻松实现对SQLServer及其它数据源的数据访问。通过本章的学习,应掌握网络程序的设计思路、方法和过程,同时对SQLServer2005有进一步的学习和应用。提要2基于BS构造数据库开发技术基于BS构造数据库开发技术基于BS102本章介绍使用ASP.NET〔C#〕+SQLServer2005数据库开发基于浏览器/效劳器〔B/S〕模式的网上购物系统用户可以使用.NETFramework兼容的任何语言来编写用户自定义内容,如用户自定义函数、存储过程、触发器以及SQLServer2005中所没有的数据类型。使用.NETFramework不仅能扩展SQLServer的数据类型,还能帮助用户实现某些复杂的功能。ADO.NET提供了许多方便访问SQLServer2005的对象,利用这些内容用户可以轻松实现对SQLServer及其它数据源的数据访问。通过本章的学习,应掌握网络程序的设计思路、方法和过程,同时对SQLServer2005有进一步的学习和应用。提要103本章介绍使用ASP.NET〔C#〕+SQLServer212.1C/S构造与B/S构造

12.1.1认识C/S构造三层C/S构造图10412.1C/S构造与B/S构造

12.1.1认识C/C/S构造的优点如下:能充分发挥客户端计算机的处理能力,很多工作可以在客户端处理后再提交给效劳器。客户端响应速度快。应用效劳器运行数据负荷较轻,数据平安性较高。C/S构造的缺点主要有:维护本钱高。系统扩展性差。客户端需要安装专用的客户端软件105C/S构造的优点如下:412.1.2认识B/S构造

B/S构造10612.1.2认识B/S构造

B/S构造512.1.3C/S构造与B/S构造的区别Client/Server〔C/S〕构造是建立在局域网的根底上的,Browser/Server〔B/S〕构造是建立在广域网的根底上的。两种构造存在以下区别硬件环境不同。对平安要求不同。程序架构不同。软件重用度下同。系统维护不同。处理问题不同。用户接口不同。信息流不同。10712.1.3C/S构造与B/S构造的区别Cli12.1.4BS的三层构造效劳员只管接待客人厨师只管烹炒客人要的美食采购员只管按客人需求采购肉,海鲜,蔬菜他们各负其责共同协作为客人提供美食顾客服务员厨师采购员饭店为什么需要三层构造10812.1.4BS的三层构造效劳员只管接待客人顾客服务员厨师服务员厨师采购员离职、请假其他服务员代替离职、请假离职、请假其他厨师代替其他采购员代替109服务员厨师采购员离职、请假其他服离职、请假离职、请假其他厨其服务员厨师采购员三层构造软件模型表示层业务逻辑层数据访问层软件系统饭店110服务员厨师采购员表示层业务逻辑层数据访问层软件饭店表示层业务逻辑层数据访问层数据库为用户提供交互操作界面负责关键业务的处理和数据传递实现数据库访问效劳员厨师采购员111表示层业务逻辑层数据访问层数据库为用户提供负什么是三层构造表示层:

为用户提供一种交互式操作界面112什么是三层构造表示层:为用户提供一种交互式操作界面什么是三层构造业务逻辑层是表示层与数据访问层之间的桥梁,负责数据处理、传递。用户请求数据用户请求数据113什么是三层构造业务逻辑层是表示层与数据访问层之间的桥梁,负责什么是三层构造数据访问层数据库用户请求数据ADO.NETSQL命令实现对数据的保存和读取操作114什么是三层构造数据访问层数据库ADO.NETSQL命令实三层构造间的依赖关系三层之间依赖关系表示层业务逻辑层数据访问层115三层构造间的依赖关系三层之间依赖关系表示层业务逻辑层数据访问三层构造间的数据传递三层之间的数据传递方向业务逻辑层数据访问层表示层客户请求客户请求响应数据响应数据116三层构造间的数据传递三层之间的数据传递方向业务逻辑层数据访问三层构造:数据库业务逻辑数据访问两层结构软件模型数据库数据访问业务逻辑用户界面三层结构软件模型当数据库或用户界面发生改变时需要重新开发整个系统当数据库或用户界面发生改变时不需要重新开发,只做简单调整即可两层构造:用户界面117三层构造:数据库业务逻辑两层结构软件模型数据库数据业务用户三12.1.5如何搭建三层构造如何搭建表示层、业务逻辑层、数据访问层?如何实现各层之间的相互依赖?要掌握这一切,我们将整个实现过程分为以下步骤11812.1.5如何搭建三层构造要掌握这一切,我们将整个实现过搭建三层构造的步骤1、搭建表示层〔创立一个Web应用程序〕2、搭建业务逻辑层〔类库〕3、搭建数据访问层〔类库〕4、添加各层之间的相互依赖翻开VSIDE环境逐层搭建三层构造119搭建三层构造的步骤1、搭建表示层〔创立一个Web应用程序〕翻宠物商店微软展示.NET企业开发的范例。与Sun的PetStore的商业竞争。一个小型的电子商务案例。表达了微软推广的开发思想和设计理念。分22个工程,经典的系统,从设计的思想到最好的编码,学习参考价值很高。120宠物商店19架构简介ASP.NETWebBLLDALFactoryOracleDALSQLServerDALIDALModel表示层业务层数据层典型的三层构造121架构简介ASP.NETWebBLLDALFactoryOr翻开VS开发环境,依次选择"文件"→"新建"→"工程"命令。在翻开的"新建工程"对话框中,选择工程类型为"VisualStudio解决方案",选择模板为"空白解决方案"。填写解决方案的名称,并指定保存位置搭建3层构造122翻开VS开发环境,依次选择"文件"→"新建"→"工程"命令。在“解决方案资源管理器〞中,右击解决方案名称,在快捷菜单中选择"添加"→“新建网站"在“添加新网站〞对话框中,选择“ASP.NETWeb窗体网站",选择位置为"文件系统",并设置网站路径搭建3层构造〔1〕——表示层123在“解决方案资源管理器〞中,右击解决方案名称,在快捷菜单中选在“解决方案资源管理器〞中,在解决方案名称上右击鼠标,在弹出的快捷菜单中选择"添加"→"新建工程"命令在翻开的“新建工程〞对话框中,选择工程类型为“VisualC#〞,选择模板为“类库〞。填写工程的名称为“###.BLL〞,该工程用于实现业务逻辑层。此时工程的保存位置已经默认输入了,是刚刚创立空白解决方案时产生的路径搭建3层构造〔2〕——业务逻辑层124在“解决方案资源管理器〞中,在解决方案名称上右击鼠标,在弹出搭建数据访问层与搭建业务逻辑层的步骤类似,不同的是需要重新填写工程名称为“###.DAL〞搭建3层构造〔3〕——数据访问层125搭建数据访问层与搭建业务逻辑层的步骤类似,不同的是需要重新填在三层构造开发中,通常还会使用模型层。模型层包含所有与数据库中的表相对应的实体类。表示层、业务逻辑层和数据访问层三层之间通过传递实体对象来到达数据传递的目的。创立模型层的步骤与搭建业务层和数据访问层类似,但需重新填写工程名称为“###.Models"搭建3层构造〔4〕——模型层126在三层构造开发中,通常还会使用模型层。模型层包含所有与数据库在“解决方案资源管理器〞中,三层构造的根本框架已建好。业务逻辑层数据访问层模型层表现层127在“解决方案资源管理器〞中,三层构造的根本框架已建好。业务逻添加表示层对业务逻辑层及模型层的依赖:右击“解决方案资源管理器〞的表示层,在弹出的快捷菜单中选择"添加引用"命令在翻开的"添加引用"对话框中,选择"工程"选项卡,选中名称为“###.BLL"和“###.Models"的两个工程,单击"确定"搭建3层构造(5)——添加各层之间依赖关系128添加表示层对业务逻辑层及模型层的依赖:右击“解决方案资源管理用同样的方法在业务逻辑层添加对数据访问层和模型层的依赖,以及数据访问层对模型层的依赖三层构造及各层之间的依赖关系创立完毕搭建3层构造(5)——添加各层之间依赖关系129用同样的方法在业务逻辑层添加对数据访问层和模型层的依赖,以及目前,用于动态Web应用程序开发的有多种语言,例如ASP、ASP.NET、PHP和JSP等。ASP.NET依据其功能强大、编写容易等特点得到了广泛应用。ASP.NET是微软推出的新一代动态Web应用程序开发平台,是一种建立动态Web应用程序的新技术。它是.NET框架的一局部,可以使用任何.NET兼容的语言〔如VisualB、C#、J#、C++〕编写ASP.NET应用程序。概述130目前,用于动态Web应用程序开发的有多种语言,例如ASP、AWebForm允许在网页根底上建立强大的窗体。当建立页面时,可以使用ASP.NET效劳端控件来建立常用的UI元素,并对它们编程来完成一般的任务。这些控件允许使用内建可重用的组件和自定义组件来快速建立WebForm代码简单化,提升程序开发人员的工作效率。与Java、PHP,ASP3.0、Perl等相比,ASP.NET具有方便性、灵活性、性能优、工作效率高、平安性高、完整性强及面向对象等特性,是目前主流的网络编程技术之一。131WebForm允许在网页根底上建立强大的窗体。12.2.1CLR概述CLR是.NETFramework的核心,和Java虚拟机类似,也是一个运行时环境,负责资源管理提供内存管理、线程管理、平安性和远程处理等核心效劳保证应用和底层操作系统之间必要的别离可由面向CLR的所有语言使用13213212.2.1CLR概述CLR是.NETFramewor

.NET的运行环境

软件要求Internet信息效劳管理器〔IIS〕VisualStudio集成开发环境硬件的最低要求CPU:IntelPentium

Ⅲ-class600MHz以上。内存:256MB以上。全部安装〔包括帮助文档,即MSDN〕,安装盘上至少需要3.8GB磁盘空间,系统盘至少1GB磁盘空间。不含MSDN的安装,安装盘上至少需要2GB磁盘空间,系统盘上至少需要1GB磁盘空间。显示器:至少支持800

×

600像素,256色〔建议1024

×

768像素,增强色16位〕。133.NET的运行环境

软件要求32中的文件类型134中的文件类型33C#是一种基于.NET平台的面向对象的程序设计语言。在程序设计过程中,C#可以定义类、变量、属性、方法、接口、事件等多种元素,遵循面向对象的根本特性,支持封装、继承及多态。支持根本的数据类型。.NET中对类的组织使用命名空间〔namespace〕,允许自定义命名空间。程序中所有的元素包含在类中。类是程序设计和运行的最小单位。命名空间的定义及使用类的定义及使用变量的定义及使用属性的定义及使用方法的定义及方法调用接口的定义与继承事件的定义12.2.4C#程序设计根底135C#是一种基于.NET平台的面向对象的程序设计语言。在程序设C#与Java的比照相似:包括了单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。不同:C#借鉴了Delphi的特点,与COM直接集成C#与C/C++具有极大的相似性由C和C++衍生出来的面向对象的编程语言在继承C和C++强大功能的同时去掉了一些复杂特性〔例如没有宏、不允许多重继承等〕C#综合了VB简单的可视化操作和C++的高运行效率12.2.4C#程序设计根底136C#与Java的比照12.2.4C#程序设计根底35网站的根本构造在解决方案资源管理器的表现层中可以看到网站根本构造。网站的默认项主要有:App_Data文件夹、Default.aspx文件和Web.config文件。App_Data文件夹。ASP.NET网站保存的文件夹,用来放置数据库文件。Default.aspx文件。默认添加的asp页面文件,用于设计网站的界面。web.config文件。基于标签的格式配置文件,用于对网站的一些工程进展配置。12.2.5利用C#开发数据库应用系统的过程137网站的根本构造12.2.5利用C#开发数据库应用系统的过程添加新项在解决方案资源管理器,右击新建的网站解决方案,选择“添加新项〞,翻开向导页面,选择要添加的工程类型,修改工程名称,点击“添加〞按钮即可。在实际开发过程中,可以将不同类型的文件,放在不同的文件夹以区分不同的层次。138添加新项37添加数据库假设使用与VisualStudio集成的SQLServer数据库,系统默认将数据库添加在App_Data文件夹下。右击App_Data文件夹,选择“添加新项〞,翻开向导页面。在向导页面,选择数据库类型,修改数据库实例名称,点击“添加〞按钮。添加成功后,在App_Data文件夹下可看到该数据库文件。在效劳器资源管理器窗口,也可以看到新添加的数据连接139添加数据库38界面设计

Web窗体网站页面分为源页面和设计页面设计页面为可视化开发界面,遵循所见即所得的开发理念,通过拖拽工具箱控件,直接布局界面。如果对html代码熟悉的话,可以在源页面编辑界面.140界面设计39业务逻辑处理的设计编码与页面关系严密的业务逻辑代码,通常在页面文件对应的.cs文件中编写,如Main.aspx界面对应Main.aspx.cs文件。141业务逻辑处理的设计编码40后台业务逻辑与数据库关系密切的处理过程,可以在页面文件的.cs文件中编写代码完成,也可以建立单独的业务逻辑类,通过传递消息的方式,将前台业务逻辑处理过的数据传递过来,再通过该层业务逻辑类进展数据库的存取。142后台业务逻辑41数据库访问设计对数据库的访问,如果数据库操作代码是在页面文件的.cs文件,或者单独的业务逻辑类中编写,在每次进展数据库访问时,需要设置数据库连接参数,建立并翻开数据库连接。另一种方法是建立单独的数据库访问类,该类中设置数据库连接参数,并返回一个数据库连接对象。其他类只要获取该对象即可直接使用,所以公共的数据库访问类一般为static类。143数据库访问设计42创立实体类模型层中,与数据库中每个表相对应的有一个实体类如:将默认的类名Class1.cs重命名为“User.cs〞〔其它实体类可通过“添加〞“类〞〕,该实体类与数据库中的表Users相对应。3层架构各层之间的协同工作每个成员变量对应表中的一列144创立实体类3层架构各层之间的协同工作每个成员变量对应表中的一创立数据访问类针对模型层中的每个实体类,数据访问层有一个对应的数据访问类如:针对User实体类,创立一个对应的UserService类,用于对数据表Users的数据处理3层架构各层之间的协同工作145创立数据访问类3层架构各层之间的协同工作44创立业务逻辑类针对模型层中的每个实体类,业务逻辑层中也有一个对应的类。如,针对User实体类,创立一个对应的UserManager类,在其中添加用于登录验证的业务方法3层架构各层之间的协同工作146创立业务逻辑类3层架构各层之间的协同工作45编写表示层代码3层架构各层之间的协同工作147编写表示层代码3层架构各层之间的协同工作46运行程序前,还需设置启开工程。在"解决方案资源管理器"中的表示层上单击鼠标右键,在弹出的快捷菜单中选择"设为启开工程"命令,将表示层设置为启开工程右击Login.aspx,把登录页面设为起始页3层架构各层之间的协同工作148运行程序前,还需设置启开工程。3层架构各层之间的协同工作47数据库开发ADO.NET提供对MicrosoftSQLServer数据源以及通过OLEDB和XML公开数据源的一致访问。ADO.NET是一组向.NET程序开发者公开数据访问效劳的类。ADO.NET为创立分布式数据共享应用程序提供了一组丰富的组件。它提供了对关系数据、XML和应用程序数据的访问,因此是.NETFramework中不可缺少的重要组成局部。ADO.NET支持多种开发需求,包括创立由应用程序、工具、语言或Internet浏览器使用的前端数据库客户端和中间层业务对象。另外,由于ADO.NET被集成到.NETFramework中,所以它可用于任何.NET语言,例如C#。应用程序开发者可以使用ADO.NET来连接各种数据源,并检索、处理和更新所包含的数据。ADO.NET主要包括Connection、Command、DataReader、DataSet、DataAdapter对象。149数据库开发ADO.NET提供对MicrosoftSQL读取数据库示意图这5个对象提供了2种读取数据库的方式:一种是利用Connetction、Command和DataReader对象,这种方式只能读取数据库,不能修改记录,假设只是查询记录,这种方式的效率更高些;第二种是利用Connection、Command、DataAdapter和DataSet对象,这种方式更灵活,可以对数据库进展各种操作。150读取数据库示意图这5个对象提供了2种读取数据库的方式:一种是12.3.1使用开发数据库应用程序的一般步骤〔1〕根据使用的数据源,确定使用的数据提供程序;〔2〕建立与数据源的连接,需使用Connection对象;〔3〕执行对数据源的操作命令,通常是SQL命令,需使用Command对象;〔4〕使用数据集对获得的数据进展操作,需使用DataReader、DataSet等对象;〔5〕向用户显示数据,需使用数据控件。15112.3.1使用开发数据库应用程序的一般步骤〔1〕根据使Connection对象用于连接到数据库和管理对数据库的事务ConnectionString属性Database属性DataSource属性Open方法Close方法对于不同的数据库,ADO.NET采用不同的Connection对象进展连接。SqlConnectionOleDbConnectionOdbcConnectionOracleConnection翻开连接后获取当前数据库的名称,或翻开连接前获取连接字符串中指定的数据库名获取要连接的数据库效劳器的名称152Connection对象用于连接到数据库和管理对数据库的事务SqlConnection连接SQLServer数据库,如SQLServer2000、SQLServer2005、SQLServer2008及以上版本OracleConnection连接Oracle数据库,如Oracle10g、11gOleDbConnection连接支持OLEDB的数据库,如AccessOdbcConnection连接任何支持ODBC的数据库,如MySQL数据库Connection各个对象类功能153SqlConnection连接SQLServer数据库,如【例】实例环境:SQLServer效劳器的名称为LISA;登陆模式为Windows身份验证模式;连接的数据库为CompanySales。配置SqlConnection对象的ConnectionString属性的字符串如下:"SERVER=LISA;InitialCatalog=CompanySales;IntegratedSecurity=SSPI;";【例】实例环境如下:SQLServer效劳器的IP地址为;登陆模式为SQLServer身份验证模式;连接的数据库为CompanySales;登陆的帐户名称为sa;登陆密码为:123456;配置SqlConnection对象的ConnectionString属性的字符串如下:"SERVER=;InitialCatalog=CompanySales;UserID=sa;Password=123456";用SSPI支持的平安包进展用户身份验证,SSPI是Microsoft的平安支持提供器接口,是获得验证、信息完整性、信息隐私等集成平安效劳的公用API154【例】实例环境:SQLServer效劳器的名称为LISA使用SqlConnection对象连接SQLServer2005数据库首先定义一个新的SqlConnection对象 SqlConnectionmySqlConnection;设置一个针对SqlServer2005数据库的连接字符串 stringconnectionString=“server=localhost;database=teaching;uid=sa;pwd=sa〞;将数据库连接字符串传入SqlConnection( )构造函数 mySqlConnection=newSqlConnection(connectionString);翻开数据库连接mySqlConnection.Open( );关闭数据库连接 mySqlConnection.Close( );155使用SqlConnection对象连接SQLServer使用Connection对象与数据源建立连接后,可使用Command对象对数据源执行查询、添加、删除和修改等各种操作。Command对象的常用属性和方法如下。

CommandType属性

CommandText属性

Connection属性

ExecuteNonQuery方法

ExecuteReader方法

Command对象主要可以用来对数据库发出一些指令,例如可以对数据库传递查询、新增、修改、删除数据等指令,以及呼叫存在数据库中的预存程序等DataSetCommand对象主要是在数据源以及DataSet之间执行数据传输的工作,它可以透过Command对象传递命令后,将取得的数据放入DataSet对象。Command对象要执行命令的类型对数据源执行的SQL语句或存储过程名或表名Command对象使用的Connection对象的名称执行SQL语句并返回受影响的行数执行返回数据集的Select语句156使用Connection对象与数据源建立连接后,可使用Com[例]使用Command对象向数据库中的表添加数据。SqlConnectionmySqlConnection=newSqlConnection(connectionString);mySqlConnection.Open( ); stringsqlstr=“inser

温馨提示

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

评论

0/150

提交评论