当前位置:编程学习 > JAVA >>

怎么把数据库的信息显示在表格上

下面是我写的代码,但是写到连接完数据库后我就不知道怎么把那些信息显示在构建好的表格上,请高手指点指点,万分感谢。


import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.table.*;
import java.lang.Object.*;
import java.util.*;
import java.sql.*;
//import management_system.*;

public class ZhuJieMian extends JFrame implements ActionListener{
JButton b1=new JButton("商品管理");
JButton b2=new JButton("采购管理");
JButton b3=new JButton("销售管理");
JButton b4=new JButton("用户管理");
JButton b5=new JButton("权限管理");
JButton bb1=new JButton("查询");
JButton bb2=new JButton("添加");
JButton bb3=new JButton("修改");
JButton bb4=new JButton("删除");
JButton bb5=new JButton("确认修改");
        
JLabel  l1=new JLabel("商品编号");
JLabel  l2=new JLabel("商品名称");
JLabel  l3=new JLabel("商品价格");
JLabel  l4=new JLabel("生产日期");
JLabel  l5=new JLabel("生产地");
JLabel  l6=new JLabel("库存量");

JTextField t1=new JTextField(10);
JTextField t2=new JTextField(10);
JTextField t3=new JTextField(10);
JTextField t4=new JTextField(10);
JTextField t5=new JTextField(10);
JTextField t6=new JTextField(10);

String GoodsNum_input;
String GoodsName_input;
String GoodsName_price_input;
String Production_Data_input;
String Production_Place_input;
String Inventory_input;//库存量输入值

JTable table;
JScrollPane scroll;
Vector vector;
Vector rec_vector=new Vector();

public int screanWidth2,screanHeight2; 

String title[]={"商品编号","商品名称","商品价格","生产日期","生产地","库存量"};

public static void main(String[] args){
  new ZhuJieMian();

 }

public    ZhuJieMian()
    {
        

         
        
    JFrame f=new JFrame();
    DefaultTableModel myTable=new DefaultTableModel();
    JTable table=new JTable(myTable);

    for(int i=0;i<=5;i++)
    {
    myTable.addColumn(title[i]); 
    }
    int number=3;
    int k=0;
   while(k++!=20){
        Vector newRow = new Vector();
   
         
        myTable.addRow(newRow);
    } 
      
    table.setPreferredScrollableViewportSize(new Dimension(600,220));
    JScrollPane scrollPane=new JScrollPane(table);
    getContentPane().add(scrollPane,BorderLayout.CENTER);
    
    
    setTitle("Simple Table");
    pack();
    show();
        
        setTitle("商品管理");    
        setLayout(null);
      //  add(table);
        add(b1);
        add(b2);
        add(b3);
        add(b4);
        add(b5);
        
        add(bb1);
        add(bb2);
        add(bb3);
        add(bb4);
        add(bb5);
        
        add(l1);
        add(l2);
        add(l3);
        add(l4);
        add(l5);
        add(l6);
        
        add(t1);
        add(t2);
        add(t3);
        add(t4);
        add(t5);
        add(t6);
        
        l1.setBounds(80,250,100,20);
        l2.setBounds(80,300,100,20);
        l3.setBounds(80,350,100,20);
        l4.setBounds(80,400,100,20);
        l5.setBounds(80,450,100,20);
        l6.setBounds(80,500,100,20);
        
        t1.setBounds(170,250,150,20);
        t2.setBounds(170,300,150,20);
        t3.setBounds(170,350,150,20);
        t4.setBounds(170,400,150,20);
        t5.setBounds(170,450,150,20);
        t6.setBounds(170,500,150,20);
        
        b1.setBounds(15, 535, 100, 20);
        b2.setBounds(130, 535, 100, 20);
        b3.setBounds(245, 535, 100, 20);
        b4.setBounds(360, 535, 100, 20);
        b5.setBounds(475, 535, 100, 20);
        
        bb1.setBounds(400,275,100,20);
        bb2.setBounds(400,330,100,20);
        bb3.setBounds(400,385,100,20);
        bb4.setBounds(400,440,100,20);
        bb5.setBounds(530,385,100,20);
        
         b4.addActionListener(this);
         b2.addActionListener(this);
         b3.addActionListener(this);
         bb1.addActionListener(this);
      // table.setBounds(0,0,1000,300);
        setBounds(360,20,650,600);
        setVisible(true);        
}

public void actionPerformed(ActionEvent e) {
       Connection con; 
       Statement sql; 
       ResultSet rs;  
       GoodsNum_input=t1.getText();
    
       if(e.getSource()==b2) {   
           new PurchaseManagement();
       this.setVisible(false);
       }
       if(e.getSource()==b3) {   
           new SalesManagement();
       this.setVisible(false);
       }
       if(e.getSource()==b4) {   
           new UserManagement();
       this.setVisible(false);
       }
       if(e.getSource()==bb1)
    {
           try
       {
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                String url = "jdbc:odbc:SuperMaket";
                con = DriverManager.getConnection(url);
                sql = con.createStatement();
                rs = sql.executeQuery("SELECT * FROM CustomMessage where GoodsNum='"
                        + GoodsNum_input + "'");
                 if(rs.next()==true)
            {   
                vector.removeAllElements();
                rs.previous();
                 while(rs.next())
                 {
                     rec_vector.addElement(rs.getString(1));
                     rec_vector.addElement(rs.getString(2));
                     rec_vector.addElement(rs.getInt(3));
                     rec_vector.addElement(rs.getString(4));
                     rec_vector.addElement(rs.getString(5));
                     rec_vector.addElement(rs.getInt(6));
                     vector.addElement(rec_vector);
                     myTable.addRow(vector);
                 }
            }
                 else
            {
           JOptionPane.showMessageDialog(this,"帐户或密码错误\n请重新输入","提示",
                   JOptionPane.WARNING_MESSAGE); 
            }
       }
              catch (SQLException g)
       {
          System.out.println(g);
       } 
       catch (Exception e1)
       {
                // TODO Auto-generated catch block
                e1.printStackTrace();
        }    
    }            
  }
}
数据库 java jdbc --------------------编程问答-------------------- 你写这些是搞死人的节奏啊!直接放到表格里面就可以了,使用控制语句;
如果想要表格好看一点,使用easy-ui就行! --------------------编程问答--------------------
引用 1 楼 ganshenml 的回复:
你写这些是搞死人的节奏啊!直接放到表格里面就可以了,使用控制语句;
如果想要表格好看一点,使用easy-ui就行!

问题就是我不知道怎么放呀,比如说 下面这句获取了数据
rec_vector.addElement(rs.getString(1));
然后怎么把它放在表格第一行第一个格子中?

我上面写的就是想实现查询编号,然后读取对应编号那一行的数据,最后显示在表格中,
下面这段代码就是读取对应编号那一行的数据,添加在rec_vector向量上,然后把rec_vector向量添加到
vector向量上,最终目的就是把vector向量添加到表格的一行中,这里我就是不知道怎么把vector向量显示到table这个表格中
                    
 rec_vector.addElement(rs.getString(1));
 rec_vector.addElement(rs.getString(2));
 rec_vector.addElement(rs.getInt(3));
 rec_vector.addElement(rs.getString(4));
 rec_vector.addElement(rs.getString(5));
                     rec_vector.addElement(rs.getInt(6));
--------------------编程问答-------------------- 不懂向量,直接把取出的数据放到list里面,然后在页面遍历显示就可以了!
补充:Java ,  Java相关
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,