border="1" cellpadding="2" cellspacing="0" width="100%" bordercolorlight="#FFB468"
bordercolordark="#FFFFFF" bgcolor="#FFB468">
|
|
align="center">
border="1" cellpadding="2" cellspacing="0" width="100%"
bordercolorlight="#FFB468"
bordercolordark="#FFFFFF" bgcolor="#FFB468">
|
|
align="center">
border="1" cellpadding="2" cellspacing="0" width="100%"
bordercolorlight="#FFB468"
bordercolordark="#FFFFFF" bgcolor="#FFB468">
|
|
align="center">
border="1" cellpadding="2" cellspacing="0" width="100%"
bordercolorlight="#FFB468"
bordercolordark="#FFFFFF" bgcolor="#FFB468">
|
|
border="1" cellpadding="2" cellspacing="0" width="100%" bordercolorlight="#FFB468"
bordercolordark="#FFFFFF" bgcolor="#FFB468">
|
|
bordercolorlight="#FFB468" bordercolordark="#FFFFFF" height="40">
商品名称 |
市场价 |
优惠价 |
数量 |
小计 |
定金比例 |
定金小计 |
删除 |
<%
sql="select sh***product.product_id,sh***product.product_name,sh***product.product_price,
sh***product.product_discount,sh***cart.cart_quantity,sh***product.product_first from shop_cart,shop_product where sh***cart.cart_shop_id=" + shop_id + " and sh***cart.cart_guest_id='" + guest_name + "' and shop_cart.cart_product_id=sh***product.product_id";
rs = bk***xecuteQuery(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()) {
pr***ct_id=java.lang.Integer.parseInt(rs***tString(1));
product_name=rs***tString(2);
pr***ct_price=java.lang.Integer.parseInt(rs***tString(3));
pr***ct_discount=java.lang.Integer.parseInt(rs***tString(4));
ca***quantity=java.lang.Integer.parseInt(rs***tString(5));
pr***ct_first=java.lang.Integer.parseInt(rs***tString(6));
%>
<%=product_name%> |
<%=product_price%> |
<%=product_discount%> |
" size="3" value="<%=cart_quantity%>"> |
<%=product_discount*cart_quantity%> |
<%=product_first + "%"%> |
<%=***duct_first*product_discount*cart_quantity/100.0%> |
|
<%
total=total+product_discount*cart_quantity;
total_first=total_first+product_discount*cart_quantity*product_first/100;
}
%>
|
<%=total%> |
|
<%=total_first%> |
|
<%=total-total_first%> |
<%
}else{
%>
购物车为空!
<%
}
%>
数据库操作部分
程序用到两个表:
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:bk***lass可以提供对数据库的操作。
另外,需在控制面板的系统DSN中注册bka.dsn,
从而可使JSP通过JDBC-ODBC来调用sql数据库。
在页面中调用javabean,基本上可采用以下方式:
<%@ page language="java" import="java.sql.*" %>
<%
String sql="select * from xxx";
ResultSet rs = Re***terBean.executeQuery(sql);
if(rs.next()) {
rs.close();
Re***terBean.closeStmt();
se***on.putValue("register_message","duplicate name found!");
}
%>
注意应在使用后将rs关闭。
以下是bka.java的源程序。注意在使用前需用javac加以编译成为class文件即javabean.
--***p/bka.java--
package shop;
import java.sql.*;
public class bka {
String sDBDriver = "su***dbc.odbc.JdbcOdbcDriver";
String sConnStr = "jdbc:odbc:bka";
Connection conn = null;
ResultSet rs = null;
public bka() {
try {
Cl***.forName(sDBDriver);
}
catch(ja***lang.ClassNotFoundException e) {
Sy***m.err.println("bka(): " + e.***Message());
}
}
public ResultSet executeQuery(String sql) {
rs = null;
try {
conn = Dr***rManager.getConnection(sConnStr,"xxx","yyy");
Statement stmt = co***createStatement();
rs = st***executeQuery(sql);
}
catch(SQLException ex) {
Sy***m.err.println("aq***ecuteQuery: " + ex***tMessage());
}
return rs;
}
}
|