菜单
  

     
    图3-6  网上购物系统用例模型
    3.3  数据层的实现
    3.3.1  数据库连接/具体配置
    首先进行web.config的配置,为了保持系统良好的可移植性,采用对数据库配置进行统一管理的方法,将程序中用到的所有连接字符串信息统一放于web.config配置文档中,在程序中对该文档的这一配置进行调用,实现统一更改统一使用。
    对于数据库调用字符串,由于数据库使用的是本地数据库,所以对SQL Server 2008 Express版本而言,连接的SQL Server实例名默认为LISHENG-PC\SQLEXPRESS (LISHENG-PC为本地名称),当然如果是连接远程的SQL Server实例,可以修改为完整的网络路径。
       在文档中,为数据库的设置部分集中在<appSettings>与</appSettings>之间,连接字符串在<connectionStrings>与</connectionStrings>字段间。而其他的设置主要是面向应用程序。web.config配置文档相关代码如下:
    <connectionStrings>
    //SQL实例名
    <add name="DataBaseString"connectionString="Data Source=LISHENG-PC\SQLEXPRESS;
    Initial Catalog=Shop_Data;Integrated Security=True" providerName="System.Data.SqlClient"/>//使用的数据库名为Shop_Data。
    </connectionStrings>
    3.3.2  连接到SQL Server
    用于连接SQL Server的类是SqlConnection。每当创建一个新的数据库连接时,总是要指定至少三个重要的数据:
    1、将要连接的SQL Server实例名;
    2、访问服务器的用户授权信息;
    3、所要操作的数据库。
    创建和打开一个数据库连接代码如下:
    SqlConnection Connection = new SqlConnection();//生成一个对象
    Connection. Connectionstring =“…connectionstring…”
    Connection.open();//打开连接
    3.3.3  数据访问对象(DAO)的设计和实现
    下面以购物车模块为例描述数据层的设计和实现。在整个系统中,对于数据库的操作量是很大的。无论是对数据的查询、插入、删除还是修改主要是用到三个函数:QueryTable、ExecuteNonQuery和ExecuteQuery。这几个函数包含于SQLHelper.cs这个类中。
    SQLHelper
    -conn: SqlConnection
    -cmd: SqlCommand
    -sdr: SqlDataReader
    +GetConn():SqlConnection
    +QueryTable(sql: string):DataTable
    +ExecuteNonQuery(cmdText: string, ct: CommandType):int
    +ExecuteQuery(cmdText: string, ct: CommandType):DataTable
    图3-7  SQLHelper类的UML类图
    SQL语句都出现在数据层,是直接与数据库打交道的一层。下面对其中所用到的QueryTable、ExecuteNonQuery和ExecuteQuery进行简单介绍。
    QueryTable一般是用于SQL查询时候使用,返回datatable类型的对象。它可以存储离线数据而不需要一个打开的连接。代码如下:
    public DataTable QueryTable(string uid, string pid)
            {
                DataTable dt = new DataTable();//生成DataTable的对象dt
                string sql ="所要执行的sql语句";//sql语句
               //调用ExecuteQuery
                dt = new SQLHelper().ExecuteQuery(sql, CommandType.Text);
                return dt;
             }
        ExecuteNonQuery一般用在要进行数据库插入、删除和修改操作时使用,属于不返回任何记录的SQL语句或存储过程,它返回一个整数值用来说明受查询语句影响的行数。当返回值大于0时,说明数据库中的数据有变动,执行的SQL成功;而当返回值为0时,说明操作失败。代码如下:
  1. 上一篇:基于云计算的应用及其安全防范的风险与研究
  2. 下一篇:UML客户关系管理系统的设计与实现
  1. JAVA基于安卓平台的医疗护工管理系统设计

  2. java+mysql设备监控记录的大...

  3. 医院查询与挂号系统设计与实现

  4. java+mysql酒店管理系统设计与实现

  5. jsp公交刷卡数据统计系统图表的设计与实现

  6. php+mysql高校迎新系统的开发与应用

  7. 基于安卓系统的测量软件...

  8. 中考体育项目与体育教学合理结合的研究

  9. 杂拟谷盗体内共生菌沃尔...

  10. 当代大学生慈善意识研究+文献综述

  11. 大众媒体对公共政策制定的影响

  12. 电站锅炉暖风器设计任务书

  13. 河岸冲刷和泥沙淤积的监测国内外研究现状

  14. 酸性水汽提装置总汽提塔设计+CAD图纸

  15. 十二层带中心支撑钢结构...

  16. 乳业同业并购式全产业链...

  17. java+mysql车辆管理系统的设计+源代码

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回