标题:[求助]订单生成问题
只看楼主
xue
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-5-6
 问题点数:0 回复次数:2 
[求助]订单生成问题

在做订单生成时遇到下列问题:运行订单程序,生成一订单号,如11,再次运行,依旧是此订单号.纳闷!!........查看数据库中的订单表orderlist,发现订单号form_id并不只是11;查看商品列表shoplist表,发现其中的form_id全是11.下面是代码,各位兄弟姐妹帮忙看下吧, <%Id=Session("admin") set Rs = Server.CreateObject("ADODB.recordset") sql="select * from yonghuxinxi where admin='"&Id&"'" rs.open sql,conn,1,1 ProductList = Session("ProductList") flags="尚未处理" If Len(ProductList) = 0 Then Response.Redirect "nothing.asp" end if

'保存购买人信息 set rs=server.createobject("adodb.recordset") sqltext="select * from orderlist" rs.open sqltext,conn,3,3,1

'添加一个用户到数据库 rs.addnew rs("userid")=request.form("admin") rs("tName")=request.form("tName") rs("Zip")=request.form("Zip") rs("tel")=request.form("tel") rs("E-mail")=request.form("E-mail") rs("Address")=request.form("Address") rs("Pay")=request.form("Pay") rs("Flag")=flags rs("Remark")=request.form("Remark") If rs("Remark")="" then rs("Remark")="无" End If rs.update rs.close sql="select Form_Id from OrderList order by regtime desc" rs.open sql,conn,3,3,1 c=rs(0) rs.close

products=split(request("spbh"),",") for i=0 to UBound(Products) next set rs=server.createobject("adodb.recordset") session("productlist")=productlist sql = "Select * From Product" sql = sql & " Where Product_Id In (" & ProductList & ")" sql = sql & " Order By Product_No" Set rs = conn.Execute( sql )

if session(rs("Product_Id"))=0 then session(rs("Product_Id"))=1 end if

while not rs.eof set rs2=server.createobject("adodb.recordset") sqltext2="select * from shoplist" rs2.open sqltext2,conn,3,3,1 rs2.addnew rs2("Id")=rs("Product_Id") rs2("Form_Id")=c rs2("Product_Name")=rs("Product_Name") rs2("Number")=cint(session(rs("Product_Id"))) rs2("Product_nPrice")=ccur(rs("Product_nPrice")) rs2.update%>

<% rs2.close rs.movenext wend session.abandon 'response.redirect"success.asp" rs.close conn.close %>

搜索更多相关主题的帖子: 订单 数据库 form ProductList 
2005-05-10 19:11
无根泉
Rank: 2
等 级:新手上路
威 望:4
帖 子:853
专家分:0
注 册:2004-11-4
得分:0 
我给你一个思路,
先判断有没有记录,
如果没有则设一初始值,如从1000开始
否则取出来,让它加1
set rs=server.createobject("adodb.recordset")
sql="select id from 订单 order by id desc "
rs.open sql,conn
if rs.eof then
form_id=1000
else
form_id=rs("form_id")+1
end if


rs.addnew
rs("form_id")=form_id
....
....
rs.update
rs.close
set rs=nothing
这样就会生成自动累加的订单编号

[此贴子已经被作者于2005-5-11 9:13:23编辑过]



我很菜,但我很努力!
2005-05-10 20:49
xue
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-5-6
得分:0 
订单表里的订单号运行是好的呢,问题是商品表里的订单号总是指向上一条记录,不变.应该在set rs2=server.createobject("adodb.recordset")
sqltext2="select * from shoplist"
rs2.open sqltext2,conn,3,3,1
rs2.addnew
rs2("Id")=rs("Product_Id")
rs2("Form_Id")=c
rs2("Product_Name")=rs("Product_Name")
rs2("Number")=cint(session(rs("Product_Id")))
rs2("Product_nPrice")=ccur(rs("Product_nPrice"))
rs2.update%&gt;上面加点什么,使商品表里的订单号Form_Id与订单表里的订单号c同步呢?
2005-05-10 22:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-17821-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.219632 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved