<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.sql.ResultSet"%> <%-- 导入java.sql.ResultSet类 --%> <%@ page import="java.util.Vector"%> <%-- 导入Java的向量类 --%> <%@ page import="com.model.Goodselement"%> <%-- 导入购物车商品模型类 --%> <%-- 创建ChStr类的对象 --%> <%-- 创建ConnDB类的对象 --%> Insert title here <% if (session.getAttribute("cart") == "") { //判断购物车对象是否为空 out.println( ""); } String Username = (String) session.getAttribute("username"); //获取输入的账户名称 if (Username != "") { try { //捕捉异常 ResultSet rs_user = conn.executeQuery("select * from tb_Member where username='" + Username + "'"); if (!rs_user.next()) { //如果获取的账户名称在会员信息表中不存在(表示非法会员) session.invalidate();//销毁Session out.println( ""); return; //返回 } else { //如果合法会员,则保存订单 //获取输入的收货人姓名 String receiveName = chStr.chStr(request.getParameter("receiveName")); //获取输入的收货人地址 String address = chStr.chStr(request.getParameter("address")); String tel = request.getParameter("tel"); //获取输入的电话号码 String bz = chStr.chStr(request.getParameter("bz"));//获取输入的备注 int orderID = 0; //定义保存订单ID的变量 Vector cart = (Vector) session.getAttribute("cart");//获取购物车对象 int number = 0; //定义保存商品数量的变量 float nowprice = (float) 0.0; //定义保存商品价格的变量 float sum = (float) 0; //定义商品金额的变量 float Totalsum = (float) 0; //定义商品件数的变量 boolean flag = true; //标记订单是否有效,为true表示有效 int temp = 0; //保存返回自动生成的订单号的变量 int ID = -1; //插入订单主表数据 float bnumber = cart.size(); String sql = "insert into tb_Order(bnumber,username, receiveName,address, " +"tel,bz) values("+ bnumber + ",'" + Username + "','" + receiveName + "','" + address + "','" + tel+ "','" + bz + "')"; temp = conn.executeUpdate_id(sql); //保存订单主表数据 if (temp == 0) { //如果返回的订单号为0,表示不合法 flag = false; } else { orderID = temp; //把生成的订单号赋值给订单ID变量 } String str = ""; //保存插入订单详细信息的SQL语句 //插入订单明细表数据 for (int i = 0; i < cart.size(); i++) { //获取购物车中的一个商品 Goodselement mygoodselement = (Goodselement) cart.elementAt(i); ID = mygoodselement.ID; //获取商品ID nowprice = mygoodselement.nowprice; //获取商品价格 number = mygoodselement.number; //获取商品数量 sum = nowprice * number; //计算商品金额 str = "insert into tb_order_Detail (orderID,goodsID,price,number)" +" values(" + orderID + ","+ ID + "," + nowprice + "," + number + ")"; //插入订单明细的SQL语句 temp = conn.executeUpdate(str); //保存订单明细 Totalsum = Totalsum + sum; //累加合计金额 if (temp == 0) { //如果返回值为0,表示不合法 flag = false; } } if (!flag) { //如果订单无效 out.println(""); } else { session.removeAttribute("cart"); //清空购物车 out.println("");//显示生成的订单号 } conn.close(); //关闭数据库连接 } } catch (Exception e) { //处理异常 out.println(e.toString()); //输出异常信息 } } else { session.invalidate(); //销毁Session out.println( ""); } %>