设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3078|回复: 6
打印 上一主题 下一主题

[Access本身] 【教程】从Access到Asp.net(十三)

[复制链接]
跳转到指定楼层
1#
发表于 2006-8-19 08:49:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
【浇水】其实成功是什么?有人认为成功就是发了大财,嫁个好老公,或者说获得了别人的认可,我对成功的定义则比较理性化——成功就是完成了既定的目标。不管这个目标是远是进,是大是小,只要你确定了,并且达到了,你就是可以说是成功了,有人说失败是成功之母,这句话明显是错误的,失败一百次不表示一百零一次能成功,实际上每一次的成功总是在前一次的成功的基础上的,也就是成功才是成功之母,所以朋友们要养成一个成功的习惯,你成功了100次,第101次不成功那绝对是个意外,要养成成功的习惯,每次的目标就不要太大,太难,这样一来你才容易体验成功,也为你下一个成功打下基础。

      那成功有秘诀吗?有:第一是坚持,第二是不放弃,第三是绝不放弃,很难吗?本教程已经连载了13期,在开始的时候我已经说过,只需15天,就可以基本掌握asp.net,我知道有人在很久以前就决心学习.net了,如果你还没有掌握,那只能问一句——你坚持了吗?,如果你没能掌握,不是因为你笨,也不是因为你懒惰,只是你没有坚持。

      我已经连载了13天,还有2天就能完成了,我很开心,不管这个教程的质量如何——我做到了!

【购物车的设计】

今天我们讲购物车的设计,其实在access我们已经将其原理分析过了,这里主要是比较不同的写法:

对于web页面的设计,我们说过,基本都是把控件放到一个table里面,这里也不例外,然后对于表格化数据,当然是使用datagrid控件来做显示,这个控件我们已经使用过好多次了。好了,给大家看看我的html代码:

name="vs_targetSchema">
</HEAD>
<body MS_POSITIONING="GridLayout">
  <form id="Form1" method="post" runat="server">
   <FONT face="宋体">
    <TABLE id="Table2" cellSpacing="1" cellPadding="1" width="680">
     <TR>
      <TD colSpan="4"><uc1:top id="Top1" runat="server"></uc1:top></TD>
     </TR>
     <TR>
      <TD align="center" bgColor="#ffccff" colSpan="4" rowSpan="1">我的购物车</TD>
     <TR>
      <TD style="HEIGHT: 290px" vAlign="top" colSpan="4" rowSpan="1"><asp:datagrid id="DataGrid1" runat="server" Font-Size="X-Small" Width="678px" AllowPaging="True"
        AutoGenerateColumns="False" BorderColor="#999999" BorderStyle="None" BorderWidth="1px" BackColor="White" CellPadding="3" GridLines="Vertical">
        <SelectedItemStyle Font-Bold="True" ForeColor="White" BackColor="#008A8C"></SelectedItemStyle>
        <AlternatingItemStyle BackColor="Gainsboro"></AlternatingItemStyle>
        <ItemStyle ForeColor="Black" BackColor="#EEEEEE"></ItemStyle>
        <HeaderStyle HorizontalAlign="Center" ForeColor="White" BackColor="#000084"></HeaderStyle>
        <FooterStyle ForeColor="Black" BackColor="#CCCCCC"></FooterStyle>
        <Columns>
         <asp:BoundColumn Visible="False" DataField="id" HeaderText="id">
          <HeaderStyle Width="0px"></HeaderStyle>
         </asp:BoundColumn>
         <asp:TemplateColumn HeaderText="选择">
          <ItemTemplate>
           <asp:CheckBox id="CheckBox1" runat="server" Width="20px"></asp:CheckBox>
          </ItemTemplate>
         </asp:TemplateColumn>
         <asp:BoundColumn DataField="pname" HeaderText="商品名"></asp:BoundColumn>
         <asp:BoundColumn DataField="pkinds" HeaderText="种类"></asp:BoundColumn>
         <asp:BoundColumn DataField="price" HeaderText="单价" DataFormatString="{0:c2}"></asp:BoundColumn>
         <asp:BoundColumn DataField="lprice" HeaderText="折扣价" DataFormatString="{0:c2}"></asp:BoundColumn>
         <asp:TemplateColumn HeaderText="数量">
          <ItemTemplate>
           <asp:TextBox id=TextBox1 runat="server" Width="50px" BorderWidth="0px" Text='<%# DataBinder.Eval(Container, "DataItem.pcount") %>'>
           </asp:TextBox>
          </Ite

本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖1 订阅订阅
2#
 楼主| 发表于 2006-8-19 08:55:00 | 只看该作者



逻辑代码:

Dim myconstr As String = ConfigurationSettings.AppSettings("constr") & Server.MapPath(".") & ConfigurationSettings.AppSettings("dbs")
    Dim mycon As OleDb.OleDbConnection = New OleDb.OleDbConnection(myconstr)
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '在此处放置初始化页的用户代码
        If Request.Cookies("uid") Is Nothing Then
            Response.Redirect("onuser.aspx")
        Else
            viewstate("userid") = Request.Cookies("uid").Value
            If Not IsPostBack Then
                BindGrid()
            End If
        End If
    End Sub
    '为datagrid绑定数据的过程
    Sub BindGrid()
        Dim mysql As String
        mysql = "SELECT tab_salerecord.uid, tab_Pinfo.pname, tab_Pinfo.pkinds, tab_Pinfo.price, " & _
        "tab_Pinfo.lprice, tab_salerecord.pcount , [lprice]*tab_salerecord!pcount AS msum, tab_salerecord.ID, tab_salerecord.yn " & _
        "FROM tab_Pinfo INNER JOIN tab_salerecord ON tab_Pinfo.id = tab_salerecord.pid " & _
        "WHERE tab_salerecord.uid=" & viewstate("userid") & "and isnull(tab_salerecord.lid)"
        Dim mycmd As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(mysql, mycon)
        Dim dt As Data.DataSet = New Data.DataSet
        mycmd.Fill(dt)
        Dim ta As DataTable
        ta = dt.Tables(0)
        DataGrid1.DataSource = ta
        DataGrid1.DataBind()
        Label2.Text = ta.DefaultView.Count                   '计算商品条目
        If ta.DefaultView.Count <> 0 Then
            Label3.Text = ta.Compute("sum(pcount)", Nothing)    '计算商品总数
            Label4.Text = ta.Compute("sum(msum)", Nothing)      '计算金额
        End If
    End Sub
    '生成订单
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        updatered()
    End Sub
    '继续购物
    Private Sub BUTTON1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BUTTON1.Click
        Response.Redirect("pearch.aspx")
    End Sub
    '清空购物车
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Dim mysql As String
        mysql = "delete * from tab_salerecord where uid=" & viewstate("userid")
        mycon.Open()
        Dim mycmd As OleDb.OleDbCommand = New OleDb.OleDbCommand(mysql, mycon)
        mycmd.ExecuteNonQuery()
        mycon.Close()
        BindGrid()
    End Sub
    '修改数量
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim myitem As DataGridItem
        For Each myitem In DataGrid1.Items
            Dim mybox As TextBox
            Dim id As Integer
            mybox = myitem.Cells(6).Controls(1)
            id = myitem.Cells(0).Text
            Dim mycount As Integer
            mycount = mybox.Text
            Dim mysql As String
            mysql = "UPDATE tab_salerecord SET tab_salerecord.pcount =" & mycount & " WHERE  id=" & id
            mycon.Open()
            Dim mycmd As OleDb.OleDbCommand = New OleDb.OleDbCommand(mysql, mycon)
            mycmd.ExecuteNonQuery()
            mycon.Close()
        Next
        BindGrid()
    End Sub
    '生成订单第一步:生成订单号码
    Function mylist()
        Dim mysql As String
        mysql = "select id from tab_salelist ORDER BY ID DESC"
        mycon.Open()
        Dim mycmd As OleDb.OleDbCommand = New OleDb.OleDbCommand(mysql, mycon)
        Dim myrs As OleDb.OleDbDataReader
        myrs = mycmd.ExecuteReader()
        myrs.Read()
        mylist = my

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
3#
发表于 2006-8-19 16:37:00 | 只看该作者
情版主就是说得对呀

学东西就是要少一点浮燥,多一点耐心

只要去作了就会有改变,有些进步也许你现在看不见,但是它的确已经发生了

任何质变都是由一定的量变积累的

所以我们真正要学东西就要持续不断的努力!不要稍遇挫折就轻言放弃!
4#
发表于 2006-8-20 20:12:00 | 只看该作者


收下了.谢谢
5#
发表于 2006-8-24 00:52:00 | 只看该作者
收下了。。3Q
6#
发表于 2006-11-23 05:01:00 | 只看该作者
谢谢情比金坚!!辛苦了!
7#
发表于 2009-12-13 20:05:05 | 只看该作者
级压群芳的无敌贴!跟着学了一半了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-30 00:06 , Processed in 0.202889 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表