注册
 找回密码
 注册
江西广告网
查看: 691|回复: 0
打印 上一主题 下一主题

DW MX实例:给产品下订单

[复制链接]

该用户从未签到

1
跳转到指定楼层
发表于 2008-12-9 09:55:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x

  上一个实例中讲解了如何在线购物。当完成了在线购物后,就可以给产品下订单了,下订单时需要将产品发给客户以备核对,本实例就来讲解其实现过程。

  效果说明 在“ index.apx ”中浏览公司产品,然后单击【购买】按钮将产品添加到购物车中,当订购完毕后,单击购物车中的【确定下订单按钮】,将购物车中的产品添加到订单数据库中,再用邮件将订单自动发给客户,并显示出如图 84-1 所示的订单效果。

  

Dreamweaver



  创作构思 单击购物车中的【确定下订单按钮】,将购物车中临时表“ Cpdat ”里的所有记录添加到“ CPDD ”(产品订单)表中,再通过 System.Web.Mail 对象完成电子邮件的发送。

  操作步骤

  步骤一 给产品下订单

  ( 1 ) 打开“ CPBY.aspx ”页面,在 <script runat="server"> 中添加过程“ NewOrder_Click ”,其代码如下所述。

  Sub NewOrder_Click(sender As object, e As EventArgs)

  Dim cpConn,Cpstring AS String

  Dim conn AS OleDbConnection

  Dim Cpadapter AS new OleDbDataAdapter

  Dim Cpdat AS DataSet

  Dim dt AS DataTable

  Dim Newnow

  Dim Tystring as string

  cpConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath ("dat/dwdat.mdb")

  conn = New OledbConnection(cpConn)

  Cpstring = "SELECT * from CPDD"

  Cpadapter = new OleDbDataAdapter(Cpstring,conn)

  Dim yy as OleDbCommandBuilder=new OleDbCommandBuilder (Cpadapter)

  Cpdat = New DataSet()

  Cpadapter.Fill(Cpdat,"CPDD")

  Dim i as integer

  Newnow=now

  Tystring=session("USENAME") Cstr(year(Newnow)) iif(len(month(Newnow))=2,cstr(month(Newnow)),"0" cstr(month(Newnow))) iif(len(day(Newnow))=2,cstr(day(Newnow)),"0" cstr(day(Newnow))) cstr(hour(Newnow)) cstr(Minute(Newnow)) cstr(second(Newnow))

  For i=0 to Cpbt.Rows.Count-1

  Dim dr As DataRow = Cpdat.Tables("CPDD").NewRow()

  dr(0) = Tystring

  dr(1) = Cpbt.Rows(i)("CPID")

  dr(2) = session("USENAME")

  dr(3) = Cpbt.Rows(i)("SL")

  dr(4) = Newnow

  Cpdat.Tables("CPDD").Rows.Add(dr)

  next

  Cpadapter.Update(Cpdat, "CPDD")

  session("Cpshop")=nothing

  Cpbt=nothing

  Cpview=nothing

  Cpdat=nothing

  conn.close

  response.Redirect("ReEmail.aspx?DDID=" Tystring)

  End Sub

  (读者可打开【光盘】|【源文件】|【实例 84 】|【 84.1.txt 】文件,直接复制)

  提示: OleDbDataAdapter 对象是 DataAdapter 对象的一种。 DataAdapter 对象是用于充当 DataSet 与实际数据源之间的对象, DataSet 可以通过 OleDbDataAdapter 对象来更新实际数据源,同样,实际数据源也可以通过 DataAdapter 更新 DataSet 对象。 DataAdapter 对象分为 SQLDataAdapter 对象和 OleDbDataAdapter 对象两种。 SQLDataAdapter 对象用于访问 SQL Server 等数据库, OleDbDataAdapter 对象用于访问使用 OLE DB 链接的数据库,如 Access 。如果代码使用了 OleDbCommandBuilder 对象,通过该对象就可以自动生成 InserCommand 、 DeleteCommand 、 UpdateCommand 属性所需要的 Command 对象,本例就是用它生成 InserCommand 的 Command 对象。

  图 84-2 所示是 CPDD 表(产品订单)在 Access 中的数据结构。

  

Dreamweaver



  这里需要特别说明的是,订单编号( DDID )是由用户的登录名、年、月、日、小时、分钟、秒组成的(以上时间参数都是用户下订单时的时间参数),所以代码为 Newnow=now ,首先取得下订单时的时间。代码 iif(len(month (Newnow)) =2,cstr(month(Newnow)), "0" cstr(month(Newnow)) ,表示当前月份的位数小于 2 时,在其上面加上“ 0 ”,如目前月份为“ 5 ”时,则显示为“ 05 ”,所以代码为 Tystring=session( "USENAME") Cstr( year(Newnow )) iif(len (month ( Newnow ))=2 ,cstr (month( Newnow )), "0" cstr (month( Newnow ))) iif (len ( day( Newnow)) = 2 ,cstr( day( Newnow)),"0" cstr( day( Newnow))) cstr( hour( Newnow )) cstr( Minute( Newnow )) cstr( second( Newnow ))) 。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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