您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 《ASPN--(北京理工大学出版)-项目五掌握ASPN数据库操作
项目五掌握ASP.NET数据库操作任务一制作EShopTest网上购物商城用户注册页面任务二使用Command执行数据库命令任务三使用DataReader读取数据任务四使用DataAdapter读写数据任务五使用DataSet任务六使用DataList控件任务七使用GridView控件任务一制作EShopTest网上购物商城用户注册页面【任务要点】操作数据库的第一步必须是先建立与数据库的连接。Connection对象专门肩负着这样的重任。该对象提供了很多属性和方法以便用户顺利进行连接操作。接下来开始通过实例学习Connection对象及使用。【案例1】测试与SQLServer数据库建立连接下一页返回任务一制作EShopTest网上购物商城用户注册页面【具体步骤】(1)打开VisualStudio2005新建网站EShopTest,位置选择文件系统,指定站点文件夹。(2)添加Web窗体并命名为ConnectionTest。(3)从工具箱中拖一个Label控件到窗体中,并命名该控为lblMessage。(4)转到窗体的代码视图,在代码中添加引用usingSystem.Data.SqlClient。(5)双击新建窗体的空白处,在窗体的Page_Load()事件中添加如下代码:下一页返回上一页任务一制作EShopTest网上购物商城用户注册页面protectedvoidPage_Load(objectsender,EventArgse){SqlConnectionconn=newSqlConnection();conn.ConnectionString=server=zhubaiming\\sql2000;uid=sa;pwd=sa;database=EShop;conn.Open();lblMessage.Text=conn.State.ToString();conn.Close();}下一页返回上一页任务一制作EShopTest网上购物商城用户注册页面【案例2】实现用户注册页面的功能在项目四的能力大比拼中,已经完成了一个名为Register.aspx页面的制作,在设计模式下界面如图5-2所示。本窗体用于接收用户输入的数据。但是,这样的窗体在用户将数据保存起来之前,是没有多少用处的,接下来就是现在将要完成的任务,当单击【注册】按钮的时候执行代码将数据保存到数据库中。本项目使用的数据库EShop应用程序中的SQLServer数据库。EShopTest程序中所使用到的表的结构见表5-1~表5-4。实例运行结果如图5-3所示。下一页返回上一页任务一制作EShopTest网上购物商城用户注册页面【具体步骤】(1)在EShopTest应用程序中打开Register.aspx页。(2)在后台编码文件的顶部添加下列导入语句,因为此处将用到这些命名空间中的类:usingSystem.Data.SqlClient;(3)为注册按钮添加事件处理程序,以前该控件只是为了测试用于验证的不同文本框的内容。现在,该按钮将负责构建和执行SQLINSERT语句(该语句将一条新用户记录添加到数据库中)。下一页返回上一页任务一制作EShopTest网上购物商城用户注册页面【背景知识】一、相关命名空间的引用1.System.Data命名空间在程序中,要使用ADO.NET对象模型中的类时,必须首先引用System.Data这个命名空间。因为System.Data这个命名空间中包括大部分组成ADO.NET架构的基础对象类别,例如,DataSet对象、DataTable对象、DataColumn对象、DataRelation对象。2.System.Data.OleDb命名空间当要使用OLEDB数据提供都来存取数据时,必须引用System.Data.OleDb这个命名空间。System.Data.OleDb这个命名空间定义了OLEDB数据操作组件的对象类别,例如,OleDbConnection类、OleDbCommand类、OleDbDataAdapter类及OleDbDataReader类。下一页返回上一页任务一制作EShopTest网上购物商城用户注册页面3.System.Data.SqlClient命名空间当要使用SQLServer数据提供者存取数据时,必须引用System.Data.SqlClient这个命名空间。System.Data.SqlClient这个命名空间定义了SQL数据操作组件的对象类别,例如,SqlConnection类、SqlCommand类、SqlDataAdapter类及SqlDataReader类。表5-5简要列举了.NET框架中与ADO.NET相关的几个命名空间。下一页返回上一页任务一制作EShopTest网上购物商城用户注册页面二、Connection对象及使用Connection对象主要用于建立与指定数据源的连接,处理访问数据源时所需要的安全设置。如果没有利用Connection对象将数据库打开,是无法从数据库中获取数据的。在这里介绍Connection对象常用的属性和方法。1.Connection对象的常用方法(1)Open():利用ConnectionString所指定的属性设置打开一个数据库连接。(2)Close():关闭与数据库的连接。(3)CreateCommand():创建并返回一个与Connection相关的Command对象。下一页返回上一页任务一制作EShopTest网上购物商城用户注册页面2.Connection对象的常用属性(1)ConnectionString:获取或者设置用于打开数据库的连接字符串。(2)ConnectionTimeout:在试图建立连接的过程中,获取在终止操作并产生错误之前等待的时间,也就是超时时间。(3)DataBase:取得在数据库服务器上要打开的数据库名。(4)DataSource:取得要连接的SQLServer实例的名称。(5)State:取得目前连接的状态。下一页返回上一页任务一制作EShopTest网上购物商城用户注册页面3.Connection对象的构造函数与Connection对象的创建Connection对象的创建是由其对应的构造函数构造完成的,但是,不同的数据提供者用不同的类及构造函数完成Connection对象的创建,在SQLServer数据提供者中用类SqlConnection的构造函数创建Connection对象,而在OLEDB数据提供者中用类OleDbConnection的构造函数创建Connection对象。表5-6分别列出了SQLServer数据提供者中类SqlConnection的两个构造函数的原型及其功能。表5-7分别型列出了OLEDB数据提供者中类OleDbConnection的两个构造函数的原型及其功能。下一页返回上一页任务一制作EShopTest网上购物商城用户注册页面4.连接字符串(1)连接到SQLServer数据库的连接字符串要连接一个数据库,需要指明要连接的数据库的种类、数据库服务器名称、数据库名称、登录用户名称以及密码等信息,这些信息就是连接字符串。连接字符串可以在Connection对象的ConnectionString属性里指定。(2)连接到Access2000数据库的连接字符串连接Access数据库机制与连接SQLServer的机制没太大的区别,只是要使用OLEDB数据提供者中的OleDbConnection类来定义Connection对象,且需要对连接字符串中的不同参数指定不同的值即可。下一页返回上一页任务一制作EShopTest网上购物商城用户注册页面5.Connection对象的打开和关闭创建一个Connection对象并指定一个连接字符串并没有打开一个指向数据库的物理连接,需要调用对象的Open方法来打开连接。Close方法用来关闭Connection对象。不关闭打开的连接会影响系统性能和对应用程序的操作,所以最好关闭连接。SqlConnection和OleDbConnection类提供Open和Close方法。返回上一页任务二使用Command执行数据库命令【任务要点】Command对象及使用【案例1】制作显示商品分类列表的页面实例运行结果如图5-4所示。【具体步骤】(1)在EShopTest应用程序中添加Web窗体并命名为Command_DataReader.aspx。(2)转到窗体的代码视图,添加引用usingSystem.Data.SqlClient。(3)在窗体的设计视图下双击页面空白处进入Page_Load()事件,在该事件中添加代码。下一页返回任务二使用Command执行数据库命令【案例2】制作简单用户登录页面在项目四中,构建了一个名为Login.aspx的Web窗体,如图5-5所示。当提交登录页面的时候,会收到用户名和密码,此时需要检查这些值是否能够匹配数据库中的现有用户。而且需要从数据库中得到符合传入信息的用户ID,以便使用这个ID值来为当前用户检索不同的信息事项。一旦得到了有效的用户ID,需要告知ASP.NET用户已通过验证,可以让他们看到最初请求的页面。在该示例中,将把刚才讨论的内容运用到代码中,在登录按钮的处理程序中,将使用ExecuteScalar()方法来检索给定登录名和密码的用户ID值。运行后的效果如图5-6所示。下一页返回上一页任务二使用Command执行数据库命令【具体步骤】(1)打开Login.aspx页面,双击【登录】按钮转向后台编码页面。(2)在页面的顶部位置添加命名空间usingSystem.Data.SqlClient;的引用。(3)在后台编码页中,按照课本中的代码来进行更改。下一页返回上一页任务二使用Command执行数据库命令【背景知识】Command对象及使用Command对象提供对数据源执行SQL命令的接口,可以用来对数据库发出一些指令。利用Command对象可调用SQL命令来返回数据、修改数据、运行存储过程,以及发送或者检索参数信息。这个对象架构在Connection对象上,即Command对象是通过连接到数据源的Connection对象来下达命令的。所以Connection连接到哪个数据库,Command对象的命令就下达到哪里。下一页返回上一页任务二使用Command执行数据库命令1.Command对象的常用属性(1)Connection:该属性获取或设定Command对象对数据源的操作要通过哪个Connection对象,例如,如果想通过cn这个Connection对象对数据源进行数据操作,则可以将其Connection属性的值设置为cn,即cmd.Connection=cn(cmd为Command对象的一个实例)。(2)CommandType:获取或设置CommandText属性中的内容是SQL语句、数据表名称还是存储过程的名称。CommandType可以设置为以下三个值之一。①“CommandType.Text”(默认值)②“CommandType.TableDirect”③“CommandType.StoredProcedure”下一页返回上一页任务二使用Command执行数据库命令(3)CommandText:获取或设置在数据源中执行的SQL语句或存储过程。(4)CommandTimeout:获取或设置超时时间。2.Command对象的常用方法(1)ExecuteNonQuery():可以执行例如Transact_SQL的Insert、Delete、Update命令以及Set命令,并返回受命令影响的行数。(2)ExecuteReader():执行返回行的命令。(3)ExecuteScalar():从数据库中检索单个值。(4)ExecuteXmlReader():把CommandText发送给连接,构建一个XmlReader对象。(5)Cancel():取消了Command命令的执行。下一页返回上一页任务二使用Command执行数据库命令3.Command
本文标题:《ASPN--(北京理工大学出版)-项目五掌握ASPN数据库操作
链接地址:https://www.777doc.com/doc-761757 .html