<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      用JSP與數據庫做的購物車的源程序:(歡迎大家指點!)

      [摘要]下面是我用JSP和數據庫做的購物車的源程序:注意:1、重新計費部分還沒有做好,大家自己動手吧!2、下一版本將用session做。//shop_cart.jsp<%@ page contentT...
      下面是我用JSP和數據庫做的購物車的源程序:

      注意:
      1、重新計費部分還沒有做好,大家自己動手吧!
      2、下一版本將用session做。

      //shop_cart.jsp

      <%@ page contentType="text/html;charset=gb2312"%>
      <%@ page session="true" %>
      <%@ page language="java" import="java.sql.*" %>
      <jsp:useBean id="bka" scope="page" class="shop.bka" />
      <%

      String product_type;
      String action;
      int product_id;
      int curpage;

      //商品類型
      if (request.getParameter("product_type")==null){
      product_type="all";
      }else{
      product_type=request.getParameter("product_type");
      }

      //頁數和商品類型參數,可以在“繼續購物”時返回到上次購物的頁面
      if (request.getParameter("curpage")==null){
      curpage=1;
      }else{
      curpage=java.lang.Integer.parseInt(request.getParameter("curpage"));
      }

      //動作
      if (request.getParameter("action")==null){
      action="view";
      }else{
      action=request.getParameter("action");
      }

      //商品編號
      if (request.getParameter("product_id")==null){
      product_id=0;
      }else{
      product_id=java.lang.Integer.parseInt(request.getParameter("product_id"));
      }

      int bbb;
      bbb=1;

      Integer num = new Integer(bbb);

      //商店編號
      session.putValue("shop_id",num);
      //顧客username
      session.putValue("guest_name","asp2001");

      String guest_name=(String)session.getValue("guest_name");
      Integer shop_id=(Integer)session.getValue("shop_id");



      java.lang.String sql; 
      java.sql.ResultSet rs;



      if (action.compareTo("add")==0) {

      sql="select cart_quantity from shop_cart where cart_shop_id=" + shop_id + " and cart_guest_id='" + guest_name + "' and cart_product_id=" + product_id ;
      rs = bka.executeQuery(sql);
      if (rs.next()){
      int cart_quantity;
      cart_quantity=java.lang.Integer.parseInt(rs.getString("cart_quantity"))+1;
      sql="update shop_cart set cart_quantity=" + cart_quantity + " where cart_shop_id=" + shop_id + " and cart_guest_id='" + guest_name + "' and cart_product_id=" + product_id ;
      rs = bka.executeQuery(sql);}
      else
      {
      sql="insert into shop_cart (cart_shop_id,cart_guest_id,cart_product_id,cart_quantity) values ('" + shop_id + "','" + guest_name + "','" + product_id + "',1)";
      rs = bka.executeQuery(sql);
      }
      }

      if (action.compareTo("clear")==0) {
      sql="delete from shop_cart where cart_shop_id=" + shop_id + " and cart_guest_id='" + guest_name + "'";
      rs = bka.executeQuery(sql);
      }

      if (action.compareTo("delete")==0) {
      sql="delete from shop_cart where cart_shop_id=" + shop_id + " and cart_guest_id='" + guest_name + "' and cart_product_id=" + product_id ;
      rs = bka.executeQuery(sql);
      }
      %>
      <div align="center"><center>

      <table border="0" cellpadding="0" cellspacing="0" width="610"

      height="2">
      <tr>
      <td><form method="POST"

      action="shop_cart.jsp?action=update&product_type=<%=product_type%>&curp

      age=<%=curpage%>">
      <table border="0" cellpadding="0" cellspacing="0" width="610"

      height="2">
      <tr>
      <td width="122" height="7"><div align="center"><center><table

      border="1" cellpadding="2" cellspacing="0" width="100%" bordercolorlight="#FFB468"

      bordercolordark="#FFFFFF" bgcolor="#FFB468">
      <tr>
      <td width="100%"><div

      align="center"><center><p>購物車</td>
      </tr>

      </center></div></td>
      <td width="122" height="7" style="border: medium"

      align="center"><div align="center"><center><table
      border="1" cellpadding="2" cellspacing="0" width="100%"

      bordercolorlight="#FFB468"
      bordercolordark="#FFFFFF" bgcolor="#FFB468">
      <tr>
      <td width="100%"><div align="center"><center><p><a

      href="shop_list.jsp?shop_id=<%=shop_id%>&product_type=<%=product_type%>

      &curpage=<%=curpage%>">繼續購物</a></td>
      </tr>

      </center></div></td>
      <td width="122" height="7" style="border: medium"

      align="center"><div align="center"><center><table
      border="1" cellpadding="2" cellspacing="0" width="100%"

      bordercolorlight="#FFB468"
      bordercolordark="#FFFFFF" bgcolor="#FFB468">
      <tr>
      <td width="100%"><div align="center"><center><p><a

      href="javascript: document.forms[0].submit()">重新計費</a></td>
      </tr>

      </center></div></td>
      <td width="122" height="7" style="border: medium"

      align="center"><div align="center"><center><table
      border="1" cellpadding="2" cellspacing="0" width="100%"

      bordercolorlight="#FFB468"
      bordercolordark="#FFFFFF" bgcolor="#FFB468">
      <tr>
      <td width="100%"><div align="center"><center><p><a href="shop_cart.jsp?action=clear&product_type=<%=product_type%>&curpage=<%=curpage%>">清空購物車</a></td>
      </tr>

      </center></div></td>
      <td width="122" height="7" style="border: medium" align="center"><div align="center"><center><table
      border="1" cellpadding="2" cellspacing="0" width="100%" bordercolorlight="#FFB468"
      bordercolordark="#FFFFFF" bgcolor="#FFB468">
      <tr>
      <td width="100%"><div align="center"><center><p><a href="shop_order.asp">確認購買</a></td>
      </tr>

      </center></div></td>
      </tr>
      <tr align="center">
      <td width="610" height="1" colspan="5"><div align="center"><center>
      <table border="1" cellpadding="2" cellspacing="0" width="100%" bgcolor="#FDFEE2" bordercolorlight="#FFB468" bordercolordark="#FFFFFF" height="40">
      <tr>
      <td width="20%" height="8" align="left">商品名稱</td>
      <td width="10%" height="8" align="left">市場價</td>
      <td width="10%" height="8" align="left">優惠價</td>
      <td width="10%" height="8" align="left">數量</td>
      <td width="14%" height="8" align="left">小計</td>
      <td width="12%" height="8" align="left">定金比例</td>
      <td width="17%" height="8" align="left">定金小計</td>
      <td width="17%" height="8" align="left">刪除</td>
      </tr>
      <%
      sql="select shop_product.product_id,shop_product.product_name,shop_product.product_price,shop_product.product_discount,shop_cart.cart_quantity,shop_product.product_first from shop_cart,shop_product where shop_cart.cart_shop_id=" + shop_id + " and shop_cart.cart_guest_id='" + guest_name + "' and shop_cart.cart_product_id=shop_product.product_id";
      rs = bka.executeQuery(sql);
      int total;
      int total_first;
      total=0;
      total_first=0;
      String product_name;
      int product_price;
      int product_discount;
      int product_first;
      int cart_quantity;

      if (rs.next()){
      while (rs.next()) {
      product_id=java.lang.Integer.parseInt(rs.getString(1));
      product_name=rs.getString(2);
      product_price=java.lang.Integer.parseInt(rs.getString(3));
      product_discount=java.lang.Integer.parseInt(rs.getString(4));
      cart_quantity=java.lang.Integer.parseInt(rs.getString(5));
      product_first=java.lang.Integer.parseInt(rs.getString(6));
      %>

      <tr>
      <td width="10%" height="1" align="left"><%=product_name%></td>
      <td width="10%" height="1" align="left"><%=product_price%></td>
      <td width="10%" height="1" align="left"><%=product_discount%></td>
      <td width="10%" height="1" align="left"><input type="text" name="<%= "t" + product_id %>" size="3" value="<%=cart_quantity%>"></td>
      <td width="14%" height="1" align="left"><%=product_discount*cart_quantity%></td>
      <td width="12%" height="1" align="left"><%=product_first + "%"%></td>
      <td width="17%" height="1" align="left"><%=product_first*product_discount*cart_quantity/100.0%></td>
      <td width="17%" height="1"><div align="center"><center><p><a href="shop_cart.jsp?action=delete&product_id=<%=product_id%>">delete</a></td>
      </tr>

      <%
      total=total+product_discount*cart_quantity;
      total_first=total_first+product_discount*cart_quantity*product_first/100;
      }
      %>

      <tr align="center">
      <td width="72%" colspan="6" height="16"><div align="right"><p>總計</td>
      <td width="36%" colspan="2" height="16"><div align="left"><%=total%></td>
      </tr>
      <tr align="center">
      <td width="72%" colspan="6" height="16"><div align="right"><p>定金總計</td>
      <td width="36%" colspan="2" height="16"><div align="left"><%=total_first%></td>
      </tr>
      <tr align="center">
      <td width="72%" colspan="6" height="16"><div align="right"><p>結余</td>
      <td width="36%" colspan="2" height="16"><div align="left"><%=total-total_first%></td>
      </tr>

      </center></div>

      <%
      }else{
      %>
      <p align="center">購物車為空!</p>
      <%
      }
      %>



      數據庫操作部分

      程序用到兩個表:
      1 shop_cart表
      cart_id int購物車編號自動編號
      cart_shop_idnvarchar 商店編號
      cart_product_id nvarchar 商品編號
      cart_quantityint 商品數量
      臨時存放購物車數據

      2 shop_product表
      product_idint商品編號 自動編號
      shop_id nvarchar商店編號
      product_namenvarchar 商品名稱
      product_bb nvarchar 商品介紹
      product_priceint 市場價
      product_discountint 優惠價
      product_img img圖片
      product_status nvarchar狀態
      product_first int定金比例
      product_typenvanchar 商品類型
      存放商品資料

      使用bka.java制成的javabean:bka.class可以提供對數據庫的操作。

      另外,需在控制面板的系統DSN中注冊bka.dsn,
      從而可使JSP通過JDBC-ODBC來調用sql數據庫。
      在頁面中調用javabean,基本上可采用以下方式:


      <%@ page language="java" import="java.sql.*" %>
      <jsp:useBean id="RegisterBean" scope="page" class="shop.bka" />
      <%
      String sql="select * from xxx";
      ResultSet rs = RegisterBean.executeQuery(sql);
      if(rs.next()) {
      rs.close();
      RegisterBean.closeStmt();
      session.putValue("register_message","duplicate name found!");
      }
      %>
      注意應在使用后將rs關閉。


      以下是bka.java的源程序。注意在使用前需用javac加以編譯成為class文件即javabean.

      --shop/bka.java--


      package shop;
      import java.sql.*;

      public class bka {
      String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
      String sConnStr = "jdbc:odbc:bka";
      Connection conn = null;
      ResultSet rs = null;

      public bka() {
      try {
      Class.forName(sDBDriver);
      }
      catch(java.lang.ClassNotFoundException e) {
      System.err.println("bka(): " + e.getMessage());
      }
      }

      public ResultSet executeQuery(String sql) {
      rs = null;
      try {
      conn = DriverManager.getConnection(sConnStr,"xxx","yyy");
      Statement stmt = conn.createStatement();
      rs = stmt.executeQuery(sql);
      }
      catch(SQLException ex) {
      System.err.println("aq.executeQuery: " + ex.getMessage());
      }
      return rs;
      }
      }




      日韩精品一区二区三区高清