⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 commodityqueryframe.java

📁 用JAVA+ACCESS实现的VIP商场消费管理系统
💻 JAVA
字号:
package shop;
import java.sql.*; 
import javax.swing.*; 
//import javax.swing.event.*;
import java.awt.*; 
import java.awt.event.*; 
import java.util.*; 

public class CommodityQueryFrame extends JDialog 
{
	private Connection queryconnection; 
   	private Statement querystatement; 
   	private ResultSet queryresultSet; 
   	private ResultSetMetaData rsMetaData;
  
    //GUI变量定义
	private JFrame parent; 
	private JPanel labelPanel, tablePanel;//定义两块面板对象
	//labelPanel用来放标签,fieldsPanel用来放文本区
	private String labels = "请输入商品标号:";
	private JTable commoditytable; 
	private JButton submitQuery;     
	private JButton cancelQuery;     
            JTextField Commodity_ID;
	
    public CommodityQueryFrame(JFrame parent, boolean modal) 
    {
        super(parent, modal);
        this.parent = parent;
        pack();
        //GridBagLayout layout = new GridBagLayout();
        //Container contents = getContentPane();
        //GridBagConstraints constraints = new GridBagConstraints();
        
        //super( "输入SQL语句,按提交按钮查看结果。" ); 
    	//url中指定ODBC中设置的DSN名称
    	String url = "jdbc:odbc:VipQuery"; 
    	String username = ""; 
    	String password = ""; 
    	//加载驱动程序以连接数据库
      	try 
      	{ 
        	Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" ); 
        	queryconnection = DriverManager.getConnection( url, username, password ); 
      	} 
      	//捕获加载驱动程序异常
      	catch ( ClassNotFoundException cnfex ) 
      	{ 
        	System.err.println("装载 JDBC/ODBC 驱动程序失败。" ); 
        	cnfex.printStackTrace(); 
         	System.exit( 1 );  // terminate program 
      	} 
      	//捕获连接数据库异常
      	catch ( SQLException sqlex ) 
      	{ 
         	System.err.println( "无法连接数据库" ); 
         	sqlex.printStackTrace(); 
         	System.exit( 1 );  // terminate program 
      	} 
     
        submitQuery = new JButton( "查  询" );
        submitQuery.setPreferredSize(new Dimension(120, 25));
    	submitQuery.addActionListener( 
         new ActionListener() 
         { 
            public void actionPerformed( ActionEvent e ) 
            { 
               	getTable();
            } 
         }   
        ); 
        
        cancelQuery = new JButton( "返  回" );
        cancelQuery.setPreferredSize(new Dimension(120, 25));
    	cancelQuery.addActionListener( 
         new ActionListener() 
         { 
            public void actionPerformed( ActionEvent e ) 
            { 
               	setVisible(false);
               	dispose();
            } 
         }   
        ); 
       
        GridBagConstraints constraints = new GridBagConstraints();
        
        Commodity_ID = new JTextField();
        Commodity_ID.setPreferredSize(new Dimension(120, 25));
              
        
    	//VIP_NAME = new JTextField();
    	//VIP_NAME.setPreferredSize(new Dimension(120, 25));
    	
    	labelPanel = new JPanel();
		labelPanel.setLayout( new GridBagLayout());
		
		constraints.weightx = 100;
        constraints.weighty = 100;
        constraints.gridx = 0;
        constraints.gridy = 0;
        constraints.gridwidth = 1;
        constraints.gridheight = 1;
        labelPanel.add(new JLabel( labels), constraints);
        
        
        constraints.gridx =1;
        constraints.gridy = 0;
        constraints.gridwidth = 1;
        constraints.gridheight = 1;
        labelPanel.add(Commodity_ID, constraints);
        
      
        constraints.gridx =2;
        constraints.gridy = 0;
        constraints.gridwidth = 1;
        constraints.gridheight = 1;
        labelPanel.add(submitQuery, constraints);
        
    
        constraints.gridx =3;
        constraints.gridy = 0;
        constraints.gridwidth = 1;
        constraints.gridheight = 1;
        labelPanel.add(cancelQuery, constraints);
      
		commoditytable = new JTable();
		
        JScrollPane commodityscroller = new JScrollPane( commoditytable ); 
        commodityscroller.setPreferredSize(new Dimension(100, 50));
		
		tablePanel = new JPanel();
		tablePanel.setLayout( new BorderLayout() );
		tablePanel.setPreferredSize(new Dimension(100, 20));
		tablePanel.setBorder(BorderFactory.createEtchedBorder());
 		tablePanel.add( commodityscroller ,BorderLayout.CENTER);
 		
 		Container c = getContentPane(); 
      	setTitle("商品信息查询窗口");
      	c.setLayout( new BorderLayout()); 
      	//将"topPanel"编辑框布置到 "NORTH"
      	c.add( labelPanel ,BorderLayout.NORTH);
      	c.add( tablePanel ,BorderLayout.CENTER);
      	//c.add( commoditytable ,BorderLayout.SOUTH);
      	getTable(); 
      	setSize( 500, 330 );
      	setResizable(false);
      	setLocation(200,100);
      	//show(); 
    }
    
    private void getTable() 
   { 
      try 
      { 
      	 //执行SQL语句
      	 String commodityquery;
 
 
    	 if (Commodity_ID.getText().equals( "" ) )
      	 {
         	commodityquery = "SELECT * FROM COMMODITY_ID";
         }
         else 
         {   
         	 commodityquery = "SELECT * FROM COMMODITY_ID WHERE 商品编号="+
         	 				  Commodity_ID.getText()+"";
         }
         
         querystatement = queryconnection.createStatement(); 
          
         queryresultSet = querystatement.executeQuery( commodityquery );       
         //在表格中显示查询结果
         displayResultSet( queryresultSet);
      } 
      catch ( SQLException sqlex ) { 
         sqlex.printStackTrace(); 
      } 
   }  	
   
   private void displayResultSet( ResultSet commodityrs ) 
      throws SQLException 
   { 
      //定位到达第一条记录
     
      boolean commoditymoreRecords = commodityrs.next();
      //如果没有记录,则提示一条消息
      
      if ( ! commoditymoreRecords ) 
      { 
         JOptionPane.showMessageDialog( this,"无此商品记录" ); 
         //setTitle( "无记录显示" ); 
      	 return ;
      } 
     
      Vector commoditycolumnHeads = new Vector(); 
      Vector commodityrows = new Vector(); 
      try
      {
      	 
         //获取字段的名称
         ResultSetMetaData rsmd = commodityrs.getMetaData(); 
         for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
         { 
            commoditycolumnHeads.addElement( rsmd.getColumnName( i ) ); 
         }
          //获取记录集
         do 
         { 
            commodityrows.addElement( getNextRow( commodityrs, rsmd ) ); 
         } while ( commodityrs.next() ); 
         
         ResultSetMetaData commodityrsmd = commodityrs.getMetaData(); 
        
         
         //在表格中显示查询结果
         commoditytable = new JTable( commodityrows, commoditycolumnHeads ); 
         
         JScrollPane scroller = new JScrollPane( commoditytable ); 
         scroller.setSize(800, 20);
          
         Container c = getContentPane(); 
         c.remove(1); 
     	 tablePanel = new JPanel();
     	 tablePanel.setLayout( new BorderLayout() );
         tablePanel.add( scroller, BorderLayout.CENTER ); 
       
         c.add(tablePanel,BorderLayout.CENTER);
         //刷新Table
         c.validate(); 
      } 
      catch ( SQLException sqlex )
	  { 
         sqlex.printStackTrace(); 
      } 
   } 
   
  
   
   private Vector getNextRow( ResultSet rs, 
                              ResultSetMetaData rsmd ) 
       throws SQLException 
   { 
      Vector currentRow = new Vector(); 
      for ( int i = 1; i <= rsmd.getColumnCount(); ++i ) 
         currentRow.addElement( rs.getString( i ) ); 
      //返回一条记录   
      return currentRow; 
   } 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -