目录

  • 1 项目一 了解ASP.NET与Visual Studio 2015
    • 1.1 任务一 设计“Hello  World”
    • 1.2 任务二 ASP.NET程序构成与处理过程
    • 1.3 任务三 ASP.NET Web 常用控件
  • 2 项目二 HTML网页编程基础
    • 2.1 任务一 使用HTML语言来制作网页
    • 2.2 任务二 在网页中应用JavaScript
    • 2.3 任务三 使用样式表(CSS)来美化网页
  • 3 项目三 母版、主题及外观
    • 3.1 任务一 Master页面的创建与使用
      • 3.1.1 案例一 创建某新闻网站
    • 3.2 任务二 创建自己的网站主题和外观
      • 3.2.1 案例一 根据素材创建网站主题
    • 3.3 任务三 在程序中创建多个主题并实现主题切换
      • 3.3.1 案例一 创建多个主题并实现
  • 4 项目四 应用验证控件
    • 4.1 任务一 完成注册界面的设计
      • 4.1.1 案例一 制作提交内容必填的注册页面
      • 4.1.2 案例二 利用比较验证控件来制作注册页面
      • 4.1.3 案例三 利用范围验证控件来制作数值录入页面
      • 4.1.4 案例四 用户名邮箱格式验证
      • 4.1.5 综合任务
  • 5 项目五 掌握ASP.NET数据库操作
    • 5.1 任务一 网站用户注册页面
      • 5.1.1 案例一 测试与SQLServer数据库建立连接
      • 5.1.2 案例二 实现用户注册页面的功能
      • 5.1.3 拓展任务一
      • 5.1.4 拓展任务解析
    • 5.2 任务二 使用Command执行数据库命令
      • 5.2.1 案例一 制作显示商品分类列表的页面
      • 5.2.2 案例二 制作简单用户登录页面
      • 5.2.3 拓展任务二
      • 5.2.4 拓展任务解析
    • 5.3 任务三 使用DataReader读取数据
      • 5.3.1 案例一 完成用户信息更新页面的制作
      • 5.3.2 拓展任务三
      • 5.3.3 拓展任务解析
    • 5.4 任务四 使用DataAdapter读写数据
      • 5.4.1 案例一 完成商品分类添加页面的制作
      • 5.4.2 案例二 完成商品分类导航窗体的制作
      • 5.4.3 拓展任务四
      • 5.4.4 拓展任务解析
    • 5.5 任务五 使用DataSet
      • 5.5.1 案例一 完成显示商品信息列表页面的制作
      • 5.5.2 案例二 制作一个显示商品名称列表的页面
      • 5.5.3 拓展任务五
      • 5.5.4 拓展任务解析
    • 5.6 任务六 使用DataList控件和GridView控件
      • 5.6.1 案例一  使用DataList控件制作显示最新上架商品主要信息的页面
      • 5.6.2 案例二 使用GridView控件制作数据列表
      • 5.6.3 拓展任务六
      • 5.6.4 拓展任务解析
    • 5.7 富文本编辑器的使用
    • 5.8 二级联动下拉框的使用
      • 5.8.1 二级联动提交
  • 6 项目六 XML、站点导航
    • 6.1 任务一 写入XML文件
      • 6.1.1 案例一 创建基于XML的留言本
    • 6.2 任务二 读取XML文件
      • 6.2.1 案例一 浏览留言本数据的XML文件
    • 6.3 任务三 SiteMapPath控件的使用
      • 6.3.1 案例一 创建基于SiteMapPath的门户网站导航
    • 6.4 任务四 Tree View控件的使用
      • 6.4.1 案例一 创建基于TreeView的分类导航
      • 6.4.2 案例二 编码配置TreeView控件
    • 6.5 任务五 Menu控件的使用
      • 6.5.1 案例一 制作校园网站导航菜单
  • 7 项目七 状态管理与安全管理
    • 7.1 任务一 使用多种方式进行状态管理
      • 7.1.1 案例一 使用Application统计网站的访问情况
      • 7.1.2 案例二 Session存储信息
      • 7.1.3 案例三 Cookie记录访问页面的次数
      • 7.1.4 案例四 使用ViewState保存用户单击按钮次数
    • 7.2 任务二 身份验证和授权
    • 7.3 任务三 根据数据库中的值进行验证和窗体身份验证
      • 7.3.1 案例一 数据库验证和窗体身份验证
    • 7.4 任务四 通过IIS进行保护站点
  • 8 项目八 WebService、模块与一般处理程序
    • 8.1 任务一 创建Web Service
      • 8.1.1 案例一 创建手机归属地查询
    • 8.2 任务二 调用Web Service
      • 8.2.1 案例一 调用服务查询手机归属地
    • 8.3 任务三 HttpHandle的使用
      • 8.3.1 案例一 实现页面验证码
      • 8.3.2 案例二 实现全站图片加水印
    • 8.4 任务四 HttpModule的使用
      • 8.4.1 案例一 实现站点访问控制
  • 9 项目九 调试及打包与部署
    • 9.1 任务一 调试与错误处理
      • 9.1.1 拓展一 调试技术
    • 9.2 任务二 Web程序的发布
  • 10 电子商务网站系统开发
    • 10.1 易泽数码商城项目
      • 10.1.1 易泽数码商城登录
      • 10.1.2 易泽数码商城注册
      • 10.1.3 易泽数码商城会员管理
      • 10.1.4 易泽数码商城商品管理
      • 10.1.5 易泽数码商城项目提交
任务二 使用Command执行数据库命令
  • 1 任务二 使用C...
  • 2 补充知识

使用Command执行数据库命令


【任务要点】

  Command对象及使用

【案例一】制作显示商品分类列表的页面

  制作一个Web窗体,在窗体中显示所有商品分类的名称。该页面显示数据使用了Command对象的DataReader方法

  实例运行结果如图2-1所示。

【具体步骤】

(1)在YiZeShopTest应用程序中添加Web窗体并命名为Command_DataReader.aspx。

(2)转到窗体的代码视图,添加引用using System.Data.SqlClient。

(3)在窗体的设计视图下双击页面空白处进入Page_Load()事件,在该事件中添加代码。

  



  程序中使用Command对象的ExecuteReader方法查询SQL Server数据库。代码SqlCommand cmd = new  SqlCommand(sqlStr,conn);使用了构造函数定义了Command对象实例,也可以使用如下方式书写:

    SqlCommand cmd;

    cmd=new SqlCommand(sqlStr,conn);

  在代码中,SqlDataReader dr = cmd.ExecuteReader();语句表示定义一个SqlDataReader对象的实例,然后把Command对象执行的命令结果返回给对象变量dr。接着使用循环语句将查询到的数据输出显示到Web窗体上。最后释放资源关闭连接。


【案例二】制作简单用户登录页面

  前面已经学习了如何将新用户添加到数据库中,很显然,下一步就是学习如何检索信息。在程序中,需要在登录页面上完成下述功能——有人来到站点并输入用户名和密码,此时需要识别该用户是否已经存在,以及他们提供的密码是否正确。  

  在项目中,构建了一个名为Login.aspx的Web窗体,如图2-2所示。


  当提交登录页面的时候,会收到用户名和密码,此时需要检查这些值是否能够匹配数据库中的现有用户。而且需要从数据库中得到符合传入信息的用户ID,以便使用这个ID值来为当前用户检索不同的信息事项

  一旦得到了有效的用户ID,需要告知ASP.NET用户已通过验证,可以让他们看到最初请求的页面。

  在该例中,将把刚才讨论的内容运用到代码中,在登录按钮的处理程序中,将使用ExecuteScalar()方法检索给定登录名和密码的用户ID值。运行后的效果如图2-3所示。

【具体步骤】

(1)打开Login.aspx页面,双击【登录】按钮转向后台编码页面。

(2)在页面的顶部位置添加命名空间using System.Data.SqlClient;的引用。

(3)在后台编码页登录按钮事件中,写入以下代码:


  将Login.aspx设为起始页,启动项目。输入用户名和密码后,单击登录按钮,将执行按钮的Click事件。

  一旦用户在这里完成了身份验证,就可以通过Session["user"]在任何后台编码页中访问他们的用户ID了。






【背景知识】

 Command对象及使用

  Command对象提供对数据源执行SQL命令的接口,可以用来对数据库发出一些指令。利用Command对象可调用SQL命令来返回数据、修改数据、运行存储过程,以及发送或者检索参数信息。这个对象架构在Connection对象上,即Command对象是通过连接到数据源的Connection对象来下达命令的。所以Connection连接到哪个数据库,Command对象的命令就下达到哪里。

  1.Command对象的常用属性

  (1)Connection:该属性获取或设定Command对象对数据源的操作要通过哪个Connection对象,例如,如果想通过cn这个Connection对象对数据源进行数据操作,则可以将其Connection属性的值设置为cn,即cmd.Connection=cn(cmd为Command对象的一个实例)。

  (2)CommandType:获取或设置CommandText属性中的内容是SQL语句、数据表名称还是存储过程的名称。CommandType可以设置为以下三个值之一。

       ①“CommandType.Text”(默认值):当把CommandType属性的值设定为“CommandType.Text”或不指定任何值时,CommandText属性的值为一个SQL字符串(既可以是一个简单的查询,又可以是插入、删除、更新数据的语句)

       ②“CommandType.TableDirect”:当把CommandType属性的值设定为“CommandType.TableDirect”时,应该把CommandText属性的值设为要访问的表的名称。

       ③“CommandType.StoredProcedure”:CommandText属性的值设为存储过程的名称。

  (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命令的执行。

  3.Command对象的创建是由其对应的构造函数构造完成的,但是,不同的数据提供者用不同的类及其构造函数完成Command对象的构建,在SQL Server数据提供者中用类SqlCommand的构造函数创建Command对象,而在OLE DB数据提供者中用类 OleDBCommand的构造函数创建Command对象。表2-1列出这两个类的4种构造函数的原型。

  4.ExecuteNonQuery方法

  Command对象的ExecuteNonQuery方法用来执行Insert、Update、Delete和其他没有返回值的SQL命令。当使用Insert、Update、Delete等SQL命令时,ExecuteNonQuery方法返回被命令影响的行数,对其他SQL命令执行的操作,ExecuteNonQuery方法返回-1。当Update和Delete命令执行的目标记录不存在时,ExecuteNonQuery方法只是返回0,而不构成错误。


  5.ExecuteScalar方法

  Command对象的ExecuteScalar方法执行一个SQL命令并返回结果集的第一行的第一列,如果结果集多于一行一列,它将忽略其余部分。需要注意的是,ExecuteScalar方法的返回值是Object类型,所以在使用返回值之前需要进行必要的强制类型转换。如果对象类型不匹配,系统将生成运行错误。提示类型转换无效。


  6.ExecuteReader方法

  Command对象的ExecuteReader方法通过DataReader对象返回与SQL查询匹配的行。只要创建一个Connection对象,并为Command对象指定一个SQL查询,就可以调用Command对象的ExecuteReader方法,从数据源中检索数据。


  Command对象的ExecuteReader方法两种原型,二者都可以返回一个DataReader对象:

  (1)ExecuteReader();

  (2)ExecuteReader(CommandBehavior behavior)。

结合两个实例去理解。