📄 sell.java
字号:
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.util.*;
import javax.swing.*;
import java.text.SimpleDateFormat;
import java.text.DecimalFormat;
public class Sell extends JFrame
{
private JLabel label1,label2,label3,label4,label5,label6,label7,label8,label9,label10,label11,label12,label13;
private JButton button1,button2;
private JTextField textField1,textField2,textField3,textField4,textField5,textField6,textField7,textField8,textField9,textField10;
private JPanel panel1,panel2;
private GridBagLayout layout;
private GridBagConstraints constraints;
private Container container;
private JTable table;
private String book_id,quantity,url,discount,vipnum,trade_date,trade_id,vip_discount="100",getmoney,vip_total;
private Connection connection;
private Statement statement;
private Boolean b1=true;
private float total,charge=0;
private DecimalFormat twodigits;
public Sell()
{
super("店员界面");
twodigits = new DecimalFormat("0.00");
JMenu fileMenu = new JMenu( "菜单" );
fileMenu.setMnemonic( 'F' );
JMenuItem queryItem = new JMenuItem( "查询系统" );
queryItem.setMnemonic( 'Q' );
queryItem.addActionListener(
new ActionListener() {
public void actionPerformed( ActionEvent event )
{
Query application = new Query();
}
}
);
fileMenu.add( queryItem );
JMenuItem vipItem=new JMenuItem("VIP管理");
vipItem.setMnemonic('V');
vipItem.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent event)
{
Vip application=new Vip();
}
}
);
fileMenu.add(vipItem);
JMenuItem exitItem = new JMenuItem( "退出" );
exitItem.setMnemonic( 'X' );
exitItem.addActionListener(
new ActionListener() {
public void actionPerformed( ActionEvent event )
{
System.exit( 0 );
}
}
);
fileMenu.add( exitItem );
JMenuBar bar = new JMenuBar();
setJMenuBar( bar );
bar.add( fileMenu );
container=getContentPane();
table=new JTable();
label1=new JLabel("编号");
//label2=new JLabel("单价");
label3=new JLabel("折扣");
//label4=new JLabel("书名");
label5=new JLabel("数量");
label6=new JLabel("VIP折扣");
//label7=new JLabel("年");
//label8=new JLabel("月");
//label9=new JLabel("日");
label10=new JLabel("VIP号");
label11=new JLabel("应付");
label12=new JLabel("实付");
label13=new JLabel("找零");
textField1=new JTextField(4);
//textField2=new JTextField(4);
textField3=new JTextField(4);
//textField4=new JTextField(11);
textField5=new JTextField(4);
textField6=new JTextField(4);
textField6.setEditable(false);
textField7=new JTextField(4);
textField8=new JTextField(4);
textField8.setEditable(false);
textField9=new JTextField(4);
textField10=new JTextField(4);
textField10.setEditable(false);
textField3.setText("100");
textField5.setText("1");
textField7.setText("0");
button1=new JButton("添加");
button2=new JButton("结帐");
layout = new GridBagLayout();
panel1=new JPanel();
panel2=new JPanel();
panel1.setLayout( layout );
panel2.setLayout( layout );
constraints = new GridBagConstraints();
addComponent(label1,1,0,0,2,1);
addComponent(textField1,1,0,2,2,1);
addComponent(label5,1,0,4,2,1);
addComponent(textField5,1,0,6,2,1);
addComponent(label3,1,0,8,2,1);
addComponent(textField3,1,0,10,2,1);
//addComponent(label2,1,1,0,2,1);
//addComponent(textField2,1,1,2,2,1);
//addComponent(label4,1,1,4,2,1);
// addComponent(textField4,1,1,6,7,1);
addComponent(label6,2,0,0,8,1);
addComponent(textField6,2,0,6,2,1);
// addComponent(label7,2,10,4,1,1);
// addComponent(box1,2,10,5,2,1);
// addComponent(label8,2,10,7,1,1);
// addComponent(box2,2,10,8,2,1);
// addComponent(label9,2,10,10,1,1);
addComponent(label10,1,0,12,2,1);
addComponent(textField7,1,0,14,2,1);
addComponent(label11,2,1,0,2,1);
addComponent(textField8,2,1,2,2,1);
addComponent(label12,2,1,4,2,1);
addComponent(textField9,2,1,6,2,1);
addComponent(label13,2,1,8,2,1);
addComponent(textField10,2,1,10,2,1);
addComponent(button1,1,1,4,9,2);
addComponent(button2,2,1,12,2,1);
container.add(panel1,BorderLayout.NORTH);
container.add(panel2,BorderLayout.SOUTH);
//container.add(table,BorderLayout.CENTER);
button1.addActionListener(
new ActionListener() {
public void actionPerformed( ActionEvent event )
{
// textField1.setText("");
textField9.setText("");
textField10.setText("");
total = 0;
book_id = textField1.getText();
quantity = textField5.getText();
discount = textField3.getText();
vipnum = textField7.getText();
try{
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
url = "jdbc:odbc:myaccess";
connection = DriverManager.getConnection( url );
statement = connection.createStatement();
}
catch( Exception ex ){
System.out.println( ex );
}
int y,m,d;
Calendar cal=Calendar.getInstance();
y=cal.get(Calendar.YEAR);
m=cal.get(Calendar.MONTH);
d=cal.get(Calendar.DATE);
trade_date=new String();
trade_date=y+"/"+m+"/"+d;
System.out.println( trade_date );
try{ if(b1){
String sql1 = "Insert into Trade( Trade_date,Buyer ) Values('"
+ trade_date + "'," + vipnum +")";
statement.executeUpdate( sql1);
b1=false;
if(vipnum.compareTo( "0" ) != 0 )
{
String sql5="Select discount from VIP where Vip_id="+vipnum;
ResultSet rs2 = statement.executeQuery(sql5);
rs2.next();
ResultSetMetaData rsmd2= rs2.getMetaData();
vip_discount= new String();
vip_discount = rs2.getString("discount");
textField6.setText(vip_discount);
System.out.println( vip_discount);
}
textField7.setEditable(false);
}
String sql3="Select Trade_id from Trade where trade_id>=all(select Trade_id from Trade)";
ResultSet rs1 = statement.executeQuery(sql3);
rs1.next();
ResultSetMetaData rsmd1 = rs1.getMetaData();
String trade_id = new String();
trade_id = rs1.getString("trade_id");
System.out.println( trade_id);
String sql2 = "Insert into Trade_book( Trade_id, Book_id, count,discount) Values("
+ trade_id + ",'" + book_id + "'," + quantity+ "," + discount + ")";
statement.executeUpdate( sql2);
String sql4="Select B.Book_id,B.Book_name,B.Price,T.count,T.discount,B.Price*T.count*T.discount/100 as xiaoji from Book_info B,Trade_book T where T.Book_id=B.Book_id and T.Trade_id="+trade_id;
ResultSet rs= statement.executeQuery(sql4);
boolean moreRecords = rs.next(); // 定位到第一条记录
if ( !moreRecords ){
JOptionPane.showMessageDialog( null,"对不起,没有你要找的!" );
}
else{
Vector columnHeads = new Vector();
Vector rows = new Vector();
ResultSetMetaData rsmd = rs.getMetaData();
for( int i = 1; i <= rsmd.getColumnCount(); i++ ){
columnHeads.addElement( rsmd.getColumnName( i ) );
}
do{
rows.addElement( getNextRow( rs, rsmd ) );
}while( rs.next() );
table = new JTable( rows, columnHeads );
}
total = total*Float.parseFloat(vip_discount)/100;
textField8.setText(""+twodigits.format(total));
container.add( table, BorderLayout.CENTER );
container.add( new JScrollPane( table,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED ) );
table.repaint();
container.validate();
rs.close();
connection.close();
}
catch( Exception ex ){
System.out.println( ex );
}
}
}
);
button2.addActionListener(
new ActionListener() {
public void actionPerformed( ActionEvent event )
{
getmoney= textField9.getText();
charge = Float.parseFloat(getmoney)-total;
textField10.setText(""+twodigits.format(charge));
if(vipnum.compareTo( "0" ) != 0 )
{
try{
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
url = "jdbc:odbc:myaccess";
connection = DriverManager.getConnection( url );
statement = connection.createStatement();
String sql="Select total from VIP where Vip_id="+vipnum;
ResultSet rs = statement.executeQuery(sql);
rs.next();
ResultSetMetaData rsmd= rs.getMetaData();
vip_total= new String();
vip_total = rs.getString("total");
total +=Float.parseFloat(vip_total);
String sql1="Update VIP set total = "+ total + " where Vip_id = " + vipnum;
statement.executeUpdate( sql1);
rs.close();
connection.close();
}
catch( Exception ex ){
System.out.println( ex );
}
}
textField7.setEditable(true);
b1=true;
}
}
);
setSize(500,450);
setVisible(true);
}
private Vector getNextRow( ResultSet rs,ResultSetMetaData rsmd ) throws SQLException{
Vector currentRow = new Vector();
int i;
for ( i = 1; i < rsmd.getColumnCount(); i++ )
currentRow.addElement( rs.getString(i) );
String aa = new String(rs.getString(i));
currentRow.addElement( aa );
total += Float.parseFloat(aa);
return currentRow; //返回一条记录
}
private void addComponent(Component component,int panel,int row,int column,int width,int height)
{
constraints.gridx=column;
constraints.gridy=row;
constraints.gridwidth=width;
constraints.gridheight=height;
layout.setConstraints(component,constraints);
if( panel == 1 ) panel1.add( component );
if( panel == 2 ) panel2.add( component );
}
public static void main(String args[])
{
Sell application=new Sell();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -