Wrox Programmer Forums
|
ASP.NET 1.0 and 1.1 Basics ASP.NET discussion for users new to coding in ASP.NET 1.0 or 1.1. NOT for the older "classic" ASP 3 or the newer ASP.NET 2.0.
Welcome to the p2p.wrox.com Forums.

You are currently viewing the ASP.NET 1.0 and 1.1 Basics section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
 
Old December 15th, 2006, 01:18 PM
Authorized User
 
Join Date: Sep 2006
Posts: 82
Thanks: 0
Thanked 0 Times in 0 Posts
Default Help with totals

Hi,

I'm working on a checkout page using asp.net 1.1. and vb2003. In my checkout page, I need to

calculate the total of the items currently in the cart. What's the best way to do this ? An

examples would help - thanks. Here's my code for reference :

<%@ Page Language="VB" Debug="true" %>
<%@ import Namespace="System.Data.OleDb" %>
<script runat="server">

    Function DisplayCart() As System.Data.IDataReader

                 Dim strConnString As String =

ConfigurationSettings.AppSettings.Get("ConnectionS tring")
                 strConnString = String.Format(strConnString,

Server.MapPath("\db\nwguitars.mdb"))
                 Dim dbConnection As System.Data.IDbConnection = New

System.Data.OleDb.OleDbConnection(strConnString)


                 Dim queryString As String = "SELECT tblCartItems.intCartitemID,

tblCartItems.intProductID, tblMake.strMake, tblProducts.strProductName, "& _
                 "tblType.strTypeDetails, tblColour.strColour, tblCartItems.intQuantityOrder,

tblProducts.curSalePrice FROM tblType INNER JOIN "& _
                 "((tblMake INNER JOIN (tblColour INNER JOIN tblProducts ON tblColour.intColourID

= tblProducts.intColourID) ON tblMake.intMakeID = tblProducts.intMakeID) "& _
                 "INNER JOIN tblCartItems ON tblProducts.intProductID =

tblCartItems.intProductID) ON tblType.intTypeID = tblProducts.intTypeID WHERE

[tblCartItems].[intCartID] = " & Session("CartID") & " ; "

                 Dim dbCommand As System.Data.IDbCommand = New System.Data.OleDb.OleDbCommand
                 dbCommand.CommandText = queryString
                 dbCommand.Connection = dbConnection

                 dbConnection.Open
                 Dim dataReader As System.Data.IDataReader =

dbCommand.ExecuteReader(System.Data.CommandBehavio r.CloseConnection)

                 Return dataReader


             End Function

             Sub Page_Load()

                 If Not IsPostback Then

                     CartStatus()

                 End If

             End Sub


             Sub CartStatus()
                 If Session("CartID") Is Nothing Then
                     pnlShowText.Visible = True
                     pnlShowItems.Visible = False

                 Else
                     pnlShowItems.Visible = True
                     pnlShowText.Visible = False

                     dgCart.DataSource = DisplayCart()
                     dgCart.DataBind()
                 End If
             End Sub



             Sub dgCart_Edit(sender As Object, e As DataGridCommandEventArgs)
                 dgCart.EditItemIndex = e.Item.ItemIndex

                 dgCart.Datasource = DisplayCart()
                 dgCart.DataBind()

                 lblCart.Text = Session("CartID")
                 lblCart.visible=True
                 btnSubmit.Visible=False

             End Sub

             Sub dgCart_Cancel(sender As Object, e As DataGridCommandEventArgs)
                 dgCart.EditItemIndex = -1
                 btnSubmit.Visible=True

                 dgCart.Datasource = DisplayCart()
                 dgCart.DataBind()
             End Sub


             Sub dgCart_Update(sender As Object, e As DataGridCommandEventArgs)

                 Dim strConnString As String =

ConfigurationSettings.AppSettings.Get("ConnectionS tring")
                 strConnString = String.Format(strConnString,

Server.MapPath("\db\nwguitars.mdb"))
                 Dim dbConnection As System.Data.IDbConnection = New

System.Data.OleDb.OleDbConnection(strConnString)

                 Dim intCartitemID As Integer
                 Dim txtQuantity As TextBox
                 Dim intQuantity As Integer

                 intCartitemID = dgCart.DataKeys(e.Item.ItemIndex)
                 txtQuantity = e.Item.FindControl("txtQuantity")
                 intQuantity = txtQuantity.Text


                 Dim strSQL As String = "UPDATE [tblCartItems] SET [intQuantityOrder]=@Quantity

WHERE "& _
                 "intCartitemID = @intCartitemID"

                 Dim dbCommand As New OleDbCommand(strSQL, dbConnection)

                 Dim cmd As New OleDbCommand

                 dbCommand.Parameters.Add("@Quantity", intQuantity)
                 dbCommand.Parameters.Add("@intCartitemID", intCartitemID)

                 dbConnection.Open()
                 dbCommand.ExecuteNonQuery()
                 dbConnection.Close()

                 dgCart.EditItemIndex = -1
                 dgCart.DataSource = DisplayCart()
                 dgCart.DataBind()



             End Sub

             Sub dgCart_Delete(Sender As Object, E As DataGridCommandEventArgs)

                 Dim strConnString As String =

ConfigurationSettings.AppSettings.Get("ConnectionS tring")
                 strConnString = String.Format(strConnString,

Server.MapPath("\db\nwguitars.mdb"))
                 Dim dbConnection As System.Data.IDbConnection = New

System.Data.OleDb.OleDbConnection(strConnString)

                 Dim intCartitemID As Integer
                 intCartitemID = dgCart.DataKeys(e.Item.ItemIndex)

                 Dim cmd As New OleDbCommand
                 Dim strSQL As String = "DELETE FROM [tblCartItems] WHERE

([tblCartItems].[intCartitemID] = @intCartitemID)"

                 Dim dbCommand As New OleDbCommand(strSQL, dbConnection)
                 dbCommand.Parameters.Add("@intCartitemID", intCartitemID)
                 dbCommand.Parameters("@intCartitemID").Value =

dgCart.DataKeys(CInt(E.Item.ItemIndex))

                 dbConnection.Open()
                 dbCommand.ExecuteNonQuery()
                 dbConnection.Close()

                 dgCart.DataSource = DisplayCart()
                 dgCart.DataBind()

             End Sub


             Sub btnSubmit_Click(sender As Object, e As EventArgs)
                 Response.Redirect("login.aspx")
             End Sub

</script>
<html>
<head>

    <link href="\css\liststyle.css" type="text/css" rel="stylesheet" />
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <script language="JavaScript" type="text/JavaScript">

//-->
    </script>
</head>
<body>

    <br />
    <form runat="server">
        <h2 align="center">View Cart
        </h2>
        <table height="50" width="400" align="center">
            <tbody>
                <tr>
                    <td>
                        <asp:Panel class="heading" id="pnlShowText" runat="server" Width="390px"

Height="40px">
                            <p align="center">
                                Your cart is empty - Please add an item from our shop
                            </p>
                        </asp:Panel>
                    </td>
                </tr>
            </tbody>
        </table>
        <table height="50" width="430" align="center">
            <tbody>
                <tr>
                    <td width="416">
                        <asp:Panel id="pnlShowItems" runat="server" Width="400px">
                            <div align="center">
                                <asp:DataGrid id="dgCart" runat="server"

OnUpdateCommand="dgCart_Update" OnEditCommand="dgCart_Edit" OnCancelCommand="dgCart_Cancel"

OnDeleteCommand="dgCart_Delete" AutoGenerateColumns="False" ShowFooter="True">
                                    <Columns>
                                        <asp:BoundColumn DataField="intProductID" ReadOnly="True"

HeaderText="ProductID">
                                            <HeaderStyle horizontalalign="Center"></HeaderStyle>
                                            <ItemStyle horizontalalign="Center"></ItemStyle>
                                        </asp:BoundColumn>
                                        <asp:BoundColumn DataField="strMake" ReadOnly="True"

HeaderText="Manufacturer">
                                            <HeaderStyle horizontalalign="Center"></HeaderStyle>
                                            <ItemStyle horizontalalign="Center"></ItemStyle>
                                        </asp:BoundColumn>
                                        <asp:BoundColumn DataField="strProductName"

ReadOnly="True" HeaderText="Product Name">
                                            <HeaderStyle wrap="False"

horizontalalign="Center"></HeaderStyle>
                                            <ItemStyle horizontalalign="Center"></ItemStyle>
                                        </asp:BoundColumn>
                                        <asp:BoundColumn DataField="strTypeDetails"

ReadOnly="True" HeaderText="Product Type">
                                            <HeaderStyle wrap="False"

horizontalalign="Center"></HeaderStyle>
                                            <ItemStyle horizontalalign="Center"></ItemStyle>
                                        </asp:BoundColumn>
                                        <asp:BoundColumn DataField="strColour" ReadOnly="True"

HeaderText="Colour">
                                            <HeaderStyle horizontalalign="Center"></HeaderStyle>
                                            <ItemStyle horizontalalign="Center"></ItemStyle>
                                        </asp:BoundColumn>
                                        <asp:TemplateColumn HeaderText="Quantity">
                                            <HeaderStyle horizontalalign="Center"></HeaderStyle>
                                            <ItemStyle horizontalalign="Center"></ItemStyle>
                                            <ItemTemplate>
                                                <%# DataBinder.Eval(Container,

"DataItem.intQuantityOrder") %>
                                            </ItemTemplate>
                                            <EditItemTemplate>
                                                <asp:TextBox id="txtQuantity" runat="server"

Text='<%# DataBinder.Eval(Container, "DataItem.intQuantityOrder") %>'></asp:TextBox>
                                            </EditItemTemplate>
                                        </asp:TemplateColumn>
                                        <asp:BoundColumn DataField="curSalePrice" ReadOnly="True"

HeaderText="Price(#163;)">
                                            <HeaderStyle horizontalalign="Center"></HeaderStyle>
                                            <ItemStyle horizontalalign="Center"></ItemStyle>
                                        </asp:BoundColumn>
                                        <asp:EditCommandColumn ButtonType="LinkButton"

UpdateText="Update" CancelText="Cancel" EditText="Edit Quantity">
                                            <HeaderStyle wrap="False"

horizontalalign="Center"></HeaderStyle>
                                            <ItemStyle horizontalalign="Center"></ItemStyle>
                                            <FooterStyle wrap="False"></FooterStyle>
                                        </asp:EditCommandColumn>
                                        <asp:ButtonColumn Text="Delete" CommandName="Delete">
                                            <HeaderStyle wrap="False"

horizontalalign="Center"></HeaderStyle>
                                            <ItemStyle horizontalalign="Center"></ItemStyle>
                                            <FooterStyle wrap="False"></FooterStyle>
                                        </asp:ButtonColumn>
                                    </Columns>
                                </asp:DataGrid>
                                <br />
                            </div>
                            <div align="center">
                                <br />
                            </div>
                            <div align="center">
                                <table height="50" width="430" border="0">
                                    <tbody>
                                        <tr>
                                            <td align="middle">
                                                <asp:Button id="btnSubmit"

onclick="btnSubmit_Click" runat="server" cssclass="frmbtn" width="90px" Text="Submit

Order"></asp:Button>
                                            </td>
                                        </tr>
                                    </tbody>
                                </table>
                            </div>
                            Total: <asp:Label id="lblTotal" runat="server"></asp:Label>
                        </asp:Panel>
                    </td>
                </tr>
            </tbody>
        </table>
    </form>
</body>
</html>







Similar Threads
Thread Thread Starter Forum Replies Last Post
Totals not working rsm42 ASP.NET 1.0 and 1.1 Basics 1 December 20th, 2006 06:55 AM
Totals not accurate! dba123 Reporting Services 1 February 5th, 2006 10:53 PM
Grouping and totals btado XML 4 July 1st, 2005 03:08 AM
Grouping and totals btado XSLT 3 June 22nd, 2005 01:08 AM
Totals bjackman Access 1 February 8th, 2004 09:27 PM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.