zoukankan      html  css  js  c++  java
  • ASP.NET2.0网站开发(4)执行数据

    在VS的开发环境中,可以有多种方式取得数据集,比如直接添加控件生成、在代码中灵活的使用SqlClient、或者比较麻烦的,就象我的这种取数据的方式,这种方式的优点在做小项目、一个人开发的时候有些麻烦,写的代码量最大,但如果是多人开发的大项目,就显示出了优点。

    在对数据的操作过程中,我使用了自己封装的一个数据操作类,具体操作请参考微软提供的商店例子。操作时,将数据库的连接字符串放在Web.config中,根据需要你可以对connectionStrings节进行加密,这取决于你的需要。

        <connectionStrings>
            
    <add name="SQLConnectionString1" connectionString="Data Source=.;Initial Catalog=BOOKS;User ID=a;Password=a" providerName="System.Data.SqlClient"/>
            
    <add name="SQLConnectionString2" connectionString=""/>
        
    </connectionStrings>

    因为功能简单,所有的方法我都放在了一个类中:

      1public class DALClass
      2{
      3    public DALClass()
      4    {
      5        //
      6        //TODO: 在此处添加构造函数逻辑
      7        //
      8    }

      9
     10    /// <summary>
     11    /// 新增图书
     12    /// </summary>
     13    /// <param name="mc"></param>

     14    public void Books_Insert(ModelClass mc)
     15    {
     16        SqlParameter[] sp = new SqlParameter[]{
     17            new SqlParameter("@mc", SqlDbType.NVarChar, 20),
     18            new SqlParameter("@cbs", SqlDbType.NVarChar, 60),
     19            new SqlParameter("@dj", SqlDbType.Money),
     20            new SqlParameter("@nrty", SqlDbType.NVarChar, 2000),
     21            new SqlParameter("@tp", SqlDbType.Image)
     22        }
    ;
     23        sp[0].Value = mc.Mc;
     24        sp[1].Value = mc.Cbs;
     25        sp[2].Value = mc.Dj;
     26        sp[3].Value = mc.Nrty;
     27        sp[4].Value = mc.Tp;
     28
     29        SunnySoft.DBUtility35.SqlHelper.ExecuteNonQuery(SunnySoft.DBUtility35.SqlHelper.SQLConnectionString1,
     30             CommandType.StoredProcedure, "Books_AddValue", sp);
     31    }

     32
     33    /// <summary>
     34    /// 修改图书
     35    /// </summary>
     36    /// <param name="mc"></param>

     37    public void Books_Update(ModelClass mc)
     38    {
     39        SqlParameter[] sp = new SqlParameter[]{
     40            new SqlParameter("@id", SqlDbType.Int),
     41            new SqlParameter("@mc", SqlDbType.NVarChar, 20),
     42            new SqlParameter("@cbs", SqlDbType.NVarChar, 60),
     43            new SqlParameter("@dj", SqlDbType.Money),
     44            new SqlParameter("@nrty", SqlDbType.NVarChar, 2000),
     45            new SqlParameter("@tp", SqlDbType.Image)
     46        }
    ;
     47        sp[0].Value = mc.Id;
     48        sp[1].Value = mc.Mc;
     49        sp[2].Value = mc.Cbs;
     50        sp[3].Value = mc.Dj;
     51        sp[4].Value = mc.Nrty;
     52        sp[5].Value = mc.Tp;
     53
     54        SunnySoft.DBUtility35.SqlHelper.ExecuteNonQuery(SunnySoft.DBUtility35.SqlHelper.SQLConnectionString1,
     55             CommandType.StoredProcedure, "Books_Update", sp);
     56    }

     57
     58    /// <summary>
     59    /// 删除图书
     60    /// </summary>
     61    /// <param name="mc"></param>

     62    public void Books_Delete(int id)
     63    {
     64        SqlParameter sp = new SqlParameter("@id", SqlDbType.Int);
     65        sp.Value = id;
     66
     67        SunnySoft.DBUtility35.SqlHelper.ExecuteNonQuery(SunnySoft.DBUtility35.SqlHelper.SQLConnectionString1,
     68             CommandType.StoredProcedure, "Books_Delete", sp);
     69    }

     70
     71    /// <summary>
     72    /// 取图书单条记录
     73    /// </summary>
     74    /// <param name="id">条件ID</param>
     75    /// <returns></returns>

     76    public ModelClass Books_GetValue(int id)
     77    {
     78        ModelClass mc = null;
     79        SqlParameter sp = new SqlParameter("@id", SqlDbType.Int);
     80        sp.Value = id;
     81
     82        using (SqlDataReader rdr = SunnySoft.DBUtility35.SqlHelper.ExecuteReader(
     83            SunnySoft.DBUtility35.SqlHelper.SQLConnectionString1, CommandType.StoredProcedure,
     84            "Books_GetValue", sp))
     85        {
     86            if (rdr.Read())
     87                mc = new ModelClass(
     88                    rdr.GetInt32(0),
     89                    rdr.GetString(1),
     90                    rdr.IsDBNull(2? "" : rdr.GetString(2),
     91                    Convert.ToDouble(rdr.GetValue(3)),
     92                    rdr.IsDBNull(4? "" : rdr.GetString(4),
     93                    rdr.IsDBNull(5? new byte[]{} : (byte[])rdr.GetValue(5)
     94                    );
     95            else
     96                mc = new ModelClass();
     97        }

     98        return mc;
     99    }

    100
    101    /// <summary>
    102    /// 取图书数据
    103    /// </summary>
    104    /// <returns></returns>

    105    public IList Books_GetValues()
    106    {
    107        IList list = new List<ModelClass>();
    108        using (SqlDataReader rdr = SunnySoft.DBUtility35.SqlHelper.ExecuteReader(
    109            SunnySoft.DBUtility35.SqlHelper.SQLConnectionString1, CommandType.StoredProcedure,
    110            "Books_GetValues"))
    111        {
    112            while (rdr.Read())
    113            {
    114                ModelClass mc = new ModelClass(
    115                    rdr.GetInt32(0),
    116                    rdr.GetString(1),
    117                    rdr.IsDBNull(2? "" : rdr.GetString(2),
    118                    Convert.ToDouble(rdr.GetValue(3)),
    119                    rdr.IsDBNull(4? "" : rdr.GetString(4),
    120                    new byte[]{}
    121                    );
    122                list.Add(mc);
    123            }

    124        }

    125        return list;
    126    }

    127
    128    /// <summary>
    129    /// 登录人员校验
    130    /// </summary>
    131    /// <param name="dlmc"></param>
    132    /// <returns></returns>

    133    public UserClass User_GetValue(string dlmc)
    134    {
    135        UserClass mc = null;
    136        SqlParameter sp = new SqlParameter("@dlmc", SqlDbType.NVarChar, 20);
    137        sp.Value = dlmc;
    138
    139        using (SqlDataReader rdr = SunnySoft.DBUtility35.SqlHelper.ExecuteReader(
    140            SunnySoft.DBUtility35.SqlHelper.SQLConnectionString1, CommandType.StoredProcedure,
    141            "User_GetValue", sp))
    142        {
    143            if (rdr.Read())
    144                mc = new UserClass(
    145                    rdr.GetInt32(0),
    146                    rdr.GetString(1),
    147                    rdr.GetString(2),
    148                    rdr.GetString(3)
    149                    );
    150            else
    151                mc = new UserClass();
    152        }

    153        return mc;
    154
    155    }

    156}

    157

    在此类的方法中,调用前面写的存储过程,返回相应的数据。方法写完后,可以使用NUnit或者VS提供的测试类,对方法进行测试。

  • 相关阅读:
    return
    debug_backtrace final catch
    Exponential Backoff
    2014 MapReduce
    Extract, Transform, Load
    Factorization of a 768-bit RSA modulus
    奇偶校验 汉明码 如果一条信息中包含更多用于纠错的位,且通过妥善安排这些纠错位使得不同的出错位产生不同的错误结果,那么我们就可以找出出错位了。 crc CRC 循环冗余校验
    An Explanation of the Deflate Algorithm
    通过极限手续定义正数的无理指数方幂
    算术根的存在唯一性
  • 原文地址:https://www.cnblogs.com/wjhx/p/1343692.html
Copyright © 2011-2022 走看看