国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

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

2024-09-05 00:19:11
字體:
來源:轉載
供稿:網友
  • 網站運營seo文章大全
  • 提供全面的站長運營經驗及seo技術!
  • 下面是我用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>
              </table>
              </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>
              </table>
              </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>
              </table>
              </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>
              </table>
              </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>
              </table>
              </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>
              </table>
              </center></div>

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



    數據庫操作部分

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

    2 shop_product表
        product_id    int      商品編號   自動編號
        shop_id       nvarchar    商店編號
        product_name    nvarchar     商品名稱
        product_bb       nvarchar     商品介紹
        product_price      int         市場價
        product_discount    int         優惠價
        product_img           img        圖片
        product_status         nvarchar        狀態
        product_first           int        定金比例
        product_type            nvanchar     商品類型
    存放商品資料

    使用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;
    }
    }

    發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 淮阳县| 义乌市| 搜索| 龙泉市| 建湖县| 炉霍县| 大渡口区| 玛多县| 凤凰县| 贺兰县| 通榆县| 麻栗坡县| 平湖市| 东莞市| 乐陵市| 太康县| 交城县| 米易县| 新兴县| 河东区| 威信县| 南城县| 教育| 锦屏县| 芜湖市| 荥阳市| 东明县| 合川市| 固原市| 伊宁市| 拜泉县| 来安县| 宜州市| 蚌埠市| 句容市| 新竹县| 竹溪县| 玉门市| 盱眙县| 舟山市| 林甸县|