熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

ASP.NET項目開發指南:網絡書店訂單的發貨和作廢(3)

2013-11-13 12:24:26  來源: .NET編程 

    訂單的發貨和作廢(

  【代碼說明】這裡我們自己創建了一個實體ST_OrderEntity代碼第行說明這是一個struct讀者其實也可以定義為class通過前面幾章的學習讀者可能已經知道在APSNET 中還專門提供了工具用來生成這個實體類即從數據庫文件直接映射到類文件中實體的屬性通過get{}和set{}實現代碼第~行是局部變量只在本結構內有效代碼第~行是公共變量定義了結構的屬性通過public關鍵字可以讓外部類訪問這些屬性

  ST_OrderEntity類的GetOrderByID()方法的代碼如程序所示

  程序  ST_OrderEntitycs

    //取得某個訂單的信息

    public ST_BookBizST_OrderEntity GetOrderByID(int st_orderid)

    {

        //要執行的SQL語句

        string sqlString = select * from ST_Order where

        st_orderid=+st_orderid;

        //填充數據集

        DataSet ds = SqlHelperExecuteDataset(ST_UtilityST_ConnString

        CommandTypeText sqlString)

        //生成ST_OrderEntity類的實例

        ST_BookBizST_OrderEntity st_order = new ST_OrderEntity()

        st_orderST_OrderID = st_orderid;

        st_orderST_UserID =

            intParse(dsTables[]Rows[][ST_UserID]ToString())

        st_orderST_CreateTime =

    DateTimeParse(dsTables[]Rows[][ST_CreateTime]ToString())

        st_orderST_Ship = dsTables[]Rows[][ST_Ship]ToString()

        st_orderST_Payment =

            dsTables[]Rows[][ST_Payment]ToString()

        st_orderST_Sum =

            floatParse(dsTables[]Rows[][ST_Sum]ToString())

        st_orderST_Desciption =

            dsTables[]Rows[][ST_Desciption]ToString()

        st_orderST_Consignee =

            dsTables[]Rows[][ST_Consignee]ToString()

        st_orderST_ConsingeeEmail =

            dsTables[]Rows[][ST_ConsingeeEmail]ToString()

        st_orderST_ConsingeePhone =

            dsTables[]Rows[][ST_ConsingeePhone]ToString()

        st_orderST_ConsingeeAddress =

            dsTables[]Rows[][ST_ConsingeeAddress]ToString()

        st_orderST_ConsingeePostcode =

            dsTables[]Rows[][ST_ConsingeePostcode]ToString()

        st_orderST_ConsingeeGender =

            dsTables[]Rows[][ST_ConsingeeGender]ToString()

        st_orderST_Status =

            shortParse(dsTables[]Rows[][ST_Status]ToString())

        return st_order;

    }

  【代碼說明】代碼第行生成一個ST_OrderEntity結構體的實例並利用從數據庫中讀取的數據填充其各個字段代碼第行中的ST_BookBiz是一個項目和本程序存在於同一個項目下要使用它必須先生成其dll文件然後在當前Web程序中添加對此dll文件的引用

  說明DateTimeParse(字符串)表示將字符串轉換為日期型數據

  管理員單擊發貨按鈕時將觸發Button_Click事件在該事件中調用ST_Order類的UpdateOrder()方法來設置訂單表中訂單的發送狀態該事件的代碼如程序所示

  程序  ST_OrderDetailaspxcs

    protected void Button_Click(object sender EventArgs e)

    {

        //設置為發貨

        st_orderUpdateOrder(st_orderid

        ResponseWrite(<script language=

  javascript>alert(處理成功

            </script>

    }

  【代碼說明】代碼第行調用UpdateOrder()方法實現訂單狀態的改變這裡必須包括第個參數用來指定要修改的是哪條訂單的狀態代碼第~行是輸出一個成功的提示信息

  ST_Order類的UpdateOrder()方法的代碼如程序所示

  程序  ST_Ordercs

    public void UpdateOrder(int st_orderid int status)

    {

        //要執行的更新語句

        string sqlString = @update ST_Order

  set ST_Status= + status +

            where st_orderid= + st_orderid;

        object obj = SqlHelperExecuteScalar

  (ST_UtilityST_ConnString

            CommandTypeText sqlString)

    }

  【代碼說明】代碼第行的SQL語句前加了一個@起到轉義的作用如果在被更新的字段中有\r\t等字符都作為正常字符串處理這也是保護數據庫的一種方式代碼第行執行更新語句並返回一個值

  管理員單擊作廢按鈕時將觸發Button_Click事件在該事件中同樣調用ST_Order類的UpdateOrder()方法來設置訂單表中訂單的發送狀態該事件的代碼如程序所示

  程序  ST_OrderDetailaspxcs

    protected void Button_Click(object sender EventArgs e)

    {

       //設置為作廢

       st_orderUpdateOrder(st_orderid

       ResponseWrite(<script language=javascript>alert(處理成功

        </script>

    }

    …

  【代碼說明】代碼第行調用UpdateOrder()方法完成狀態更改第二個參數就是更改後的狀態第一個參數用來指定被更新的訂單號

       返回目錄ASPNET項目開發指南

       編輯推薦

       ASPNET MVC 框架揭秘

       ASPNET開發寶典

       ASP NET開發培訓視頻教程


From:http://tw.wingwit.com/Article/program/net/201311/15845.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.