zoukankan      html  css  js  c++  java
  • 面向对象代码

    using   System;  
      using   System.Data;  
      using   System.Data.SqlClient;  
      using   System.Configuration;  
       
      namespace   Hugo.BookShop.DbBase  
      {  
      ///   <summary>  
      ///   base.  
      ///   </summary>  
      public   abstract   class   Base  
      {  
       
      #region   "Fields   of   base   calss"  
       
      ///   <summary>  
      ///   connecting   to   Database  
      ///   </summary>  
      protected   static   string   strConn   =   ConfigurationSettings.AppSettings["strConnection"];  
       
      ///   <summary>  
      ///   SQL   command  
      ///   </summary>  
      protected   static   string   strSQL;  
       
      #endregion  
       
       
      #region   "Properties   of   base   class"  
      private   int   m_ID;  
      private   string   m_Name;  
       
      ///   <summary>  
      ///   Property:ID  
      ///   </summary>  
      public   int   ID  
      {  
      get  
      {  
      return   m_ID;  
      }  
      set  
      {  
      m_ID   =   value;  
      }  
      }  
       
       
      ///   <summary>  
      ///   name  
      ///   </summary>  
      public   string   Name  
      {  
      get  
      {  
      return   m_Name;  
      }  
      set  
      {  
      m_Name   =   value;  
      }  
      }  
       
      #endregion  
       
       
      #region   "Functions   of   base   class"  
      public   Base()  
      {  
      //  
      //   TODO:   Add   constructor   logic   here  
      //  
      }  
       
      ///   <summary>  
      ///   executing   SQL   commands  
      ///   </summary>  
      ///   <param   name="strSQL">string</param>  
      ///   <returns>return   int</returns>  
      protected   static   int   ExecuteSql(string   strSQL)  
      {  
      SqlConnection   myCn   =   new   SqlConnection(strConn);  
      SqlCommand   myCmd   =   new   SqlCommand(strSQL,myCn);  
      try  
      {  
      myCn.Open();  
      myCmd.ExecuteNonQuery();  
      return   0;  
      }  
      catch(System.Data.SqlClient.SqlException   e)  
      {  
      throw   new   Exception(e.Message);  
      }  
      finally  
      {  
      myCmd.Dispose();  
      myCn.Close();  
      }  
      }  
       
       
      ///   <summary>  
      ///executing   SQL   commands  
      ///   </summary>  
      ///   <param   name="strSQL">要执行的SQL语句,为字符串类型string</param>  
      ///   <returns>返回执行情况,整形int</returns>  
      protected   static   int   ExecuteSqlEx(string   strSQL)  
      {  
      SqlConnection   myCn   =   new   SqlConnection(strConn);  
      SqlCommand   myCmd   =   new   SqlCommand(strSQL,myCn);  
       
      try  
      {  
      myCn.Open();  
      SqlDataReader   myReader   =   myCmd.ExecuteReader();  
      if(myReader.Read())  
      {  
      return   0;  
      }  
      else  
      {  
      return   1;  
      }  
      }  
      catch(System.Data.SqlClient.SqlException   e)  
      {  
      throw   new   Exception(e.Message);  
      }  
      finally  
      {  
      myCmd.Dispose();  
      myCn.Close();  
      }  
      }  
       
       
      ///   <summary>  
      ///   get   dataset  
      ///   </summary>  
      ///   <param   name="strSQL">(string)</param>  
      ///   <returns>(DataSet)</returns>  
      protected   static   DataSet   ExecuteSql4Ds(string   strSQL)  
      {  
      SqlConnection   myCn   =   new   SqlConnection(strConn);  
      try  
      {  
      myCn.Open();  
      SqlDataAdapter   sda   =   new   SqlDataAdapter(strSQL,myCn);  
      DataSet   ds   =   new   DataSet("ds");  
      sda.Fill(ds);  
      return   ds;  
      }  
      catch(System.Data.SqlClient.SqlException   e)  
      {  
      throw   new   Exception(e.Message);  
      }  
      finally  
      {  
      myCn.Close();  
      }  
      }  
       
       
      ///   <summary>  
      ///   get   single   value  
      ///   </summary>  
      ///   <param   name="strSQL">(string)</param>  
      ///   <returns>(int)</returns>  
      protected   static   int   ExecuteSql4Value(string   strSQL)  
      {  
      SqlConnection   myCn   =   new   SqlConnection(strConn);  
      SqlCommand   myCmd   =   new   SqlCommand(strSQL,myCn);  
      try  
      {  
      myCn.Open();  
      object   r   =   myCmd.ExecuteScalar();  
      if(Object.Equals(r,null))  
      {  
      throw   new   Exception("value   unavailable!");  
      }  
      else  
      {  
      return   (int)r;  
      }  
      }  
      catch(System.Data.SqlClient.SqlException   e)  
      {  
      throw   new   Exception(e.Message);  
      }  
      finally  
      {  
      myCmd.Dispose();  
      myCn.Close();  
      }  
      }  
       
       
      ///   <summary>  
      ///   get   object  
      ///   </summary>  
      ///   <param   name="strSQL">(string)</param>  
      ///   <returns>(object)</returns>  
      protected   static   object   ExecuteSql4ValueEx(string   strSQL)  
      {  
      SqlConnection   myCn   =   new   SqlConnection(strConn);  
      SqlCommand   myCmd   =   new   SqlCommand(strSQL,myCn);  
      try  
      {  
      myCn.Open();  
      object   r   =   myCmd.ExecuteScalar();  
      if(Object.Equals(r,null))  
      {  
      throw   new   Exception("object   unavailable!");  
      }  
      else  
      {  
      return   r;  
      }  
      }  
      catch(System.Data.SqlClient.SqlException   e)  
      {  
      throw   new   Exception(e.Message);  
      }  
      finally  
      {  
      myCmd.Dispose();  
      myCn.Close();  
      }  
      }  
       
       
      ///   <summary>  
      ///   execute   multipul   SQL   commands    
      ///   </summary>  
      ///   <param   name="strSQLs">string</param>  
      ///   <returns>int</returns>  
      protected   static   int   ExecuteSqls(string[]   strSQLs)  
      {  
      SqlConnection   myCn   =   new   SqlConnection(strConn);  
      SqlCommand   myCmd   =   new   SqlCommand();  
      int   j=strSQLs.Length;  
       
      try  
      {  
      myCn.Open();  
      }  
      catch(System.Data.SqlClient.SqlException   e)  
      {  
      throw   new   Exception(e.Message);  
      }  
      SqlTransaction   myTrans   =   myCn.BeginTransaction();  
       
      try  
      {  
      myCmd.Connection   =   myCn;  
      myCmd.Transaction   =   myTrans;  
       
      foreach(string   str   in   strSQLs)  
      {  
      myCmd.CommandText   =   str;  
      myCmd.ExecuteNonQuery();  
      }  
      myTrans.Commit();  
      return   0;  
      }  
      catch(System.Data.SqlClient.SqlException   e)  
      {  
      myTrans.Rollback();  
      throw   new   Exception(e.Message);  
      }  
      finally  
      {  
      myCmd.Dispose();  
      myCn.Close();  
      }  
      }  
       
      #endregion  
      }  
      }  
    ============================================
    using   System;  
      using   System.Data;  
      using   System.Data.SqlClient;  
      using   System.Collections;  
       
      namespace   Hugo.BookShop  
      {  
      ///   <summary>  
      ///   Order   description。  
      ///   </summary>  
      public   class   Order:DbBase.Base,IEnumerator  
      {  
      private   ArrayList   allBooks   =   new   ArrayList();  
      private   int   userId;  
      //private   byte   status;  
      private   DateTime   date   =   System.DateTime.Now.Date;  
      private   int   position=-1;  
       
      public   Order()  
      {  
       
      }  
       
       
      #region   Properties   of   order   class  
       
      object   IEnumerator.Current  
      {  
      get  
      {  
      return   allBooks[position];  
      }  
      }  
       
       
      ///   <summary>  
      ///   set   detail   of   order   form  
      ///   </summary>  
      public   int   Count  
      {  
      get  
      {  
      strSQL   =   "Select   Count(*)   From   OrderDetails   Where   OrderId="   +   this.ID;    
      try  
      {  
      return   ExecuteSql4Value(strSQL);  
      }  
      catch  
      {  
      return   -1;  
      }  
      }  
      }  
       
      ///   <summary>  
      ///   sum  
      ///   </summary>  
      public   double   Total  
      {  
      get  
      {  
      strSQL   =   "Select   Sum(A.Price   *   A.Discount   *   C.Quantity)   as   Total   From   Book   A,Orders   B   ,OrderDetails   C   Where   A.id   =   C.BookId   and   B.id   =   C.OrderId   And   C.OrderId="   +   this.ID;    
      try  
      {  
      return   (double)ExecuteSql4ValueEx(strSQL);  
      }  
      catch  
      {  
      return   0.0;  
      }  
      }  
      }  
       
       
      ///   <summary>  
      ///   User   ID  
      ///   </summary>  
      public   int   UserId  
      {  
      get  
      {  
      return   userId;  
      }  
      set  
      {  
      userId   =   value;  
      }  
      }  
      #endregion  
       
       
      #region   Functions   of   order   class  
       
      ///   <summary>  
      ///   return   details   of   this   order  
      ///   </summary>  
      ///   <returns></returns>  
      public   ICollection   GetItems()  
      {  
      return   allBooks;  
      }  
       
       
       
      public   OrderDetails   this[int   index]  
      {  
      get  
      {  
      return   (OrderDetails)allBooks[index];  
      }  
      }  
       
       
      public   void   Clear()  
      {  
      allBooks.Clear();  
      }  
       
       
      public   void   Add(OrderDetails   value)  
      {  
      allBooks.Add(value);  
      }  
       
       
      bool   IEnumerator.MoveNext()  
      {  
      position++;  
      if(position>=allBooks.Count)  
      {  
      return   false;  
      }  
      else  
      {  
      return   true;  
      }  
      }  
       
       
      void   IEnumerator.Reset()  
      {  
      position   =   -1;  
      }  
       
       
      public   void   RemoveAt(int   index)  
      {  
      allBooks.RemoveAt(index);  
      }  
       
       
      public   void   Remove(int   itemId)  
      {  
      foreach(OrderDetails   item   in   allBooks)  
      {  
      if(itemId   ==   item.BookId)  
      {  
      allBooks.Remove(item);  
      return;  
      }  
      }  
      }  
       
       
      public   int   Have(int   userId)  
      {  
      try  
      {  
      string   []   arrSQL   =   new   String[allBooks.Count];  
      strSQL   =   "Insert   into   Orders(UserId)   values("   +   userId.ToString()   +   ")";  
      ExecuteSql(strSQL);  
      strSQL   =   "Select   Max(Id)   From   Orders";  
      int   orderId   =   ExecuteSql4Value(strSQL);  
       
      System.Text.StringBuilder   sb   =   new   System.Text.StringBuilder();  
      Hugo.BookShop.OrderDetails   item   =   new   Hugo.BookShop.OrderDetails();  
      for(int   i=0;i<allBooks.Count;i++)  
      {  
      item   =   (Hugo.BookShop.OrderDetails)allBooks[i];  
      sb.Append("Insert   into   OrderDetails(OrderId,BookId,Quantity)   values(");  
      sb.Append(orderId.ToString());  
      sb.Append(",");  
      sb.Append(item.BookId.ToString());  
      sb.Append(",");  
      sb.Append(item.Quantity.ToString());  
      sb.Append(")");  
      arrSQL[i]   =   sb.ToString();  
      sb.Remove(0,sb.Length);  
      }  
       
      ExecuteSqls(arrSQL);  
      return   orderId;  
      }  
      catch  
      {  
      throw   new   Exception("Order   books   FAILED!");  
      }  
      }  
       
       
      public   static   bool   Deal(int   orderId)  
      {  
      strSQL   =   "Update   OrdersV   Set   Status   =1   Where   Id="   +   orderId.ToString();  
      try  
      {  
      ExecuteSql4Ds(strSQL);  
      strSQL   =   "Update   Book   set   Sales=Sales+1   Where   id   in(SELECT   b.BookId   FROM   Orders   a   INNER   JOIN   OrderDetails   b   ON   a.Id   =   b.OrderId   AND   a.Id   =   "   +   orderId.ToString()   +   ")";  
      ExecuteSql4Ds(strSQL);  
      return   true;  
      }  
      catch  
      {  
      throw   new   Exception("Deal   with   the   order   failed!");  
      }  
      }  
       
       
      public   static   DataSet   GetOrder(int   orderId)  
      {  
      strSQL   =   "SELECT   UserId,   OrderDate,CASE   WHEN   Status   =   '1'   THEN   'dealt'   ELSE   'on   progress'   END   AS   Status   FROM   Orders   Where   Id="   +   orderId.ToString();  
      try  
      {  
      return   ExecuteSql4Ds(strSQL);  
      }  
      catch  
      {  
      throw   new   Exception("Get   order   failed!");  
      }  
      }  
       
       
      public   static   DataSet   GetOrders()  
      {  
      strSQL   =   "SELECT   *   FROM   OrdersV   Where   Status=0   or   Status   IS   NULL";  
      try  
      {  
      return   ExecuteSql4Ds(strSQL);  
      }  
      catch  
      {  
      throw   new   Exception("Get   orders   failed!");  
      }  
      }  
       
       
      public   static   DataSet   GetOrders(int   userId)  
      {  
      strSQL   =   "SELECT   Id,UserId,   OrderDate,CASE   WHEN   Status   =   '1'   THEN   'dealt'   ELSE   'on   progress'   END   AS   Status   FROM   Orders   Where   UserId="   +   userId.ToString();  
      try  
      {  
      return   ExecuteSql4Ds(strSQL);  
      }  
      catch  
      {  
      throw   new   Exception("Get   order   failed!");  
      }  
      }  
       
       
      public   static   DataSet   GetDetails(int   orderId)  
      {  
      strSQL   =   "Select   *   from   DetailsV   Where   orderId="   +   orderId.ToString();  
      try  
      {  
      return   ExecuteSql4Ds(strSQL);  
      }  
      catch  
      {  
      throw   new   Exception("Get   order   details   failed!");  
      }  
      }  
       
      #endregion  
      }  
      }
  • 相关阅读:
    PyQt5 控件学习(一个一个学习之QCommandLinkButton)
    多任务--线程
    PyQt5 控件学习(一个一个学习之QPushButton)
    PyQt5 控件学习(一个一个学习之QAbstractButton)
    再测我心中的事
    花了两天时间,整理了代码,封装了逻辑
    我现在发现,我写代码有严重的问题
    2014年8月2日0时13分22秒
    2014年8月2日15时13分4秒
    交警与货车司机
  • 原文地址:https://www.cnblogs.com/zxjyuan/p/1551199.html
Copyright © 2011-2022 走看看