package shopping;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;
import javax.swing.JTable;
import javax.swing.JScrollPane;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
public class chakanshop extends JFrame {
private static final String URL="jdbc:sqlserver://localhost:1433;DatabaseName=bookshopdb";
private static final String USERNAME="sa";
private static final String PASSWORD="123.";
private JPanel contentPane;
private JTable table;
String titles[]={"订单编号","书号","书名","数量","价格","折扣","加购时间"};
String[][] info=new String[66][7];
private JButton bupdate;
private JButton bjiezhang;
private JButton bdelete;
private JLabel label;
private JTextField textField;
int selectedRow;
double sum=0;
int i=0;
private JLabel label_1;
private JTextField phone;
public chakanshop(int k) {
setTitle("购物车");
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setBounds(100, 100, 551, 362);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(0, 0, 535, 208);
contentPane.add(scrollPane);
DefaultTableModel model = new DefaultTableModel();
table = new JTable(model);
scrollPane.setViewportView(table);
label = new JLabel("数量:");
label.setBounds(79, 234, 44, 15);
contentPane.add(label);
textField = new JTextField();
textField.setBounds(133, 231, 60, 21);
contentPane.add(textField);
textField.setColumns(10);
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn=DriverManager.getConnection(URL, USERNAME,PASSWORD);
PreparedStatement pstmt = conn.prepareStatement("{call dbo.chakanshop(?)}");
pstmt.setString(1, String.valueOf(k));
ResultSet rs=pstmt.executeQuery();
while(rs.next()){
int j=0;
info[i][j]=rs.getString(2);j++;
info[i][j]=rs.getString(3);;j++;
info[i][j]=rs.getString(4);;j++;
info[i][j]=Integer.toString(rs.getInt(5));;j++;
info[i][j]=Double.toString(rs.getDouble(6));;j++;
info[i][j]=Double.toString(rs.getDouble(7));;j++;
info[i][j]=rs.getString(8);;j++;
i++;
}
if(i==0){
JOptionPane.showMessageDialog(contentPane,"无相关信息!","错误提示",JOptionPane.WARNING_MESSAGE);
}
model.setDataVector(info,titles);
rs.close();
conn.close();
}catch (Exception e1) {
e1.printStackTrace();
}
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
table.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
//获取到JTable中选定行的---索引值
selectedRow = table.getSelectedRow();
//获取到指定单元格的值
Object oa = model.getValueAt(selectedRow, 3);
//将获取去到的DefaultTableModel中指定单元格的值,传递给JTextField
textField.setText(oa.toString());
}
});
bupdate = new JButton("\u4FEE\u6539\u8D2D\u4E70\u6570\u91CF");
bupdate.setBounds(217, 230, 113, 23);
contentPane.add(bupdate);
bupdate.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
double stock1=0;
//获取到JTable中选定行的---索引值
selectedRow = table.getSelectedRow();
//JTable中行的索引值是从0,1,2.3...开始的,
//只有选中行时,才能修改内容
if(selectedRow != -1){
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn=DriverManager.getConnection(URL, USERNAME,PASSWORD);
PreparedStatement pstmt = conn.prepareStatement("{call dbo.getstock(?)}");
pstmt.setString(1,model.getValueAt(selectedRow, 1).toString() );
ResultSet rs=pstmt.executeQuery();
while(rs.next()){
stock1 = rs.getDouble(1);
}
rs.close();
conn.close();
}catch (Exception e1) {
e1.printStackTrace();
}
if(Integer.parseInt(textField.getText())<stock1){
//通过获取到JTextField的中的值,来修改指定单元格的内容
model.setValueAt(textField.getText(), selectedRow, 3);
}
else{
JOptionPane.showMessageDialog(contentPane,"库存不足","错误提示",JOptionPane.ERROR_MESSAGE);
}
}
}
});
bjiezhang = new JButton("结账");
bjiezhang.setBounds(361, 270, 122, 23);
contentPane.add(bjiezhang);
bjiezhang.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String type1 = null;
int number1;
double price1;
double count1;
String phone1;
phone1=phone.getText();
for(int n=0;n<i;n++){
number1=Integer.parseInt(model.getValueAt(n, 3).toString());
price1=Double.parseDouble(model.getValueAt(n, 4).toString());
count1=Double.parseDouble(model.getValueAt(n, 5).toString());
sum+=number1*price1*count1;
}
if(phone1.equals(""))
{
JOptionPane.showMessageDialog(contentPane,"请付款:"+sum,"收银提示",JOptionPane.INFORMATION_MESSAGE);
insertorder();
}
else
{
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn=DriverManager.getConnection(URL, USERNAME,PASSWORD);
PreparedStatement pstmt1=conn.prepareStatement("{call dbo.checkvip(?)}");
pstmt1.setString(1,phone1);
ResultSet rs=pstmt1.executeQuery();
while(rs.next()){
type1 = rs.getString(1);
}
if(type1==null){
JOptionPane.showMessageDialog(contentPane, "不存在此号码对应的会员账号","警告提示",JOptionPane.ERROR_MESSAGE);
}
if(type1.equals("初级会员"))
{
JOptionPane.showMessageDialog(contentPane,"请付款:"+sum*0.9,"收银提示",JOptionPane.INFORMATION_MESSAGE);
insertorder();
}
else if(type1.equals("中级会员")){
JOptionPane.showMessageDialog(contentPane,"请付款:"+sum*0.8,"收银提示",JOptionPane.INFORMATION_MESSAGE);
insertorder();
}
else {
JOptionPane.showMessageDialog(contentPane,"请付款:"+sum*0.7,"收银提示",JOptionPane.INFORMATION_MESSAGE);
insertorder();
}
pstmt1.close();
conn.close();
}catch (Exception e1) {
e1.printStackTrace();
}
}
}
});
bdelete = new JButton("删除所选书籍");
bdelete.setBounds(361, 230, 122, 23);
contentPane.add(bdelete);
label_1 = new JLabel("如果您是会员,请输入手机号");
label_1.set
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
1、顾客能浏览图书目录,可按作者、书号、书名等信息进行模糊查询。 2、可浏览所选图书的详细信息,包括ISBN,书名,作者,出版社,库存数量,单价。 3、顾客可以灵活地检索所需的商品信息及了解特价商品信息及了解特价商品信息; 4、顾客可以方便地管理自己的购物车(添加或删除选购商品,修改数量); 5、购物车包含订单号,书号,数量,金额,订购日期等信息。 6、店主登录用的账号和密码。 7、顾客自身的基本信息,姓名,电话,会员等级。 8、店主可以方便地管理商品及特价商品信息(新增、删除、修改商品及特价商品)。 9、店主可以对书籍的库存进行查看,并选择要进货的书籍。 10、店主可以方便地进行系统顾客管理(新增、删除、修改系统顾客)。
资源推荐
资源详情
资源评论
收起资源包目录
网上书城书城eclipse源码+数据库脚本 (124个子文件)
chakanshop.class 6KB
jinhuo.class 6KB
shop.class 6KB
cupdate.class 5KB
vupdate.class 4KB
cinsert$1.class 4KB
cinsert.class 4KB
showallbook.class 4KB
shaohuo.class 4KB
guosheng.class 4KB
quehuo.class 4KB
chakanshop$3.class 3KB
showcountbook.class 3KB
showstock.class 3KB
vinsert$1.class 3KB
shop$2.class 3KB
dayaccount.class 3KB
sell.class 3KB
cselect.class 3KB
vselect.class 3KB
cselect$1.class 3KB
vinsert.class 3KB
cupdate$1.class 3KB
chakanshop$2.class 3KB
shop$1.class 3KB
dayaccount$1.class 3KB
vselect$1.class 3KB
administrator.class 2KB
vupdate$1.class 2KB
cupdate$2.class 2KB
user.class 2KB
login.class 2KB
vupdate$2.class 2KB
cdelete.class 2KB
vdelete.class 2KB
cdelete$1.class 2KB
vdelete$1.class 2KB
user$1.class 2KB
vip.class 2KB
book.class 2KB
stock.class 2KB
main.class 1KB
statistic.class 1KB
login$1.class 1KB
chakanshop$1.class 1KB
jinhuo$1.class 1KB
jinhuo$2.class 1KB
chakanshop$4.class 1KB
jinhuo$3.class 897B
login$2.class 850B
administrator$2.class 721B
dayaccount$2.class 708B
cselect$2.class 695B
cupdate$3.class 695B
cinsert$2.class 695B
cdelete$2.class 695B
administrator$6.class 691B
administrator$4.class 690B
vselect$2.class 689B
vdelete$2.class 689B
vupdate$3.class 689B
vinsert$2.class 689B
administrator$3.class 686B
administrator$1.class 685B
main$1.class 679B
book$5.class 676B
shop$4.class 675B
statistic$2.class 675B
vip$5.class 673B
statistic$3.class 671B
user$3.class 667B
administrator$5.class 661B
showallbook$1.class 658B
shop$3.class 654B
stock$5.class 647B
statistic$1.class 638B
book$2.class 637B
book$4.class 637B
book$3.class 637B
book$1.class 637B
main$2.class 633B
main$3.class 632B
vip$2.class 630B
vip$1.class 630B
vip$3.class 630B
vip$4.class 630B
stock$1.class 615B
stock$4.class 614B
stock$3.class 613B
user$4.class 612B
stock$2.class 612B
user$2.class 610B
.classpath 355B
sqljdbc.jar 570KB
chakanshop.java 10KB
shop.java 9KB
cupdate.java 7KB
cinsert.java 6KB
vupdate.java 6KB
jinhuo.java 6KB
共 124 条
- 1
- 2
资源评论
禾几
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功