我用的数据库是sql server,想将数据库表中的信息显示出来到一个表格中,表格动态的根据数据库表的长度生成,在点击了“增加”按钮后能新增一空行,填写新的内容保存后返回数据库。若选中某一行,点击“删除”按钮能直接从数据库中删除这一行的所有信息。不知道这个问题该如何实现,希望高手指点!急求解答,非常感谢!!!

解决方案 »

  1.   

    import javax.swing.*;
    import javax.swing.table.*;
    import java.awt.event.*;
    import java.awt.*;public class TableTest

       public static void main(String[] args)
       {
          MyFrame frame = new MyFrame("Table Test");
          frame.setVisible(true);
       }
    }class MyFrame extends JFrame implements ActionListener
    {
    MyTableModel model = new MyTableModel();
    JButton addButton = new JButton("Add");
    JButton deleteButton = new JButton("Delete");
    private static final int  WIDTH = 800;
    private static final int HEIGHT = 600;   MyFrame(String title)
       {
          super(title);      
          setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          JFrame.setDefaultLookAndFeelDecorated(true);
          JPanel p = new JPanel();     
          p.add(addButton);
          p.add(deleteButton);      addButton.addActionListener(this);
          deleteButton.addActionListener(this);      getContentPane().add(new JScrollPane(new JTable(model)), BorderLayout.CENTER);
          getContentPane().add(p, BorderLayout.WEST);
          
          setExtendedState(MAXIMIZED_BOTH);
       }   public void actionPerformed(ActionEvent e)
       {
          if(e.getSource().equals(addButton))
          {
             model.addRow();
          }
          else if(e.getSource().equals(deleteButton))
          {
             model.deleteRow();
          }
       }  
    }
    class MyTableModel extends AbstractTableModel
    {
     static int pos=1;
       int row = 10;
       public Object getValueAt(int row, int column)
       {
        if (row >10){
        return "sdfsdf";
        }
        else {
           return "ooo";
          }
       }   public int getRowCount()
       {
          return row;
       }   public int getColumnCount() 
       {
          return 5;
       }
       void addRow()
       {
          row += 1;
          fireTableDataChanged();
       }
       void deleteRow()
       {
          row -= 1;
          fireTableDataChanged();
       }
     
       public String getColumnName(int column)
       {
          return "" + pos++;
       }
    }
      

  2.   

    先写select语句,用查到的数据生成table。再写insert和delete,成功则返回boolean true,
    if(insert()){
    这里调用楼上//john_sheep(彩虹勇士(写点啥好呢?)) 写的insert into tableModel; 
    }
    if(delete()){
    delete from tableModel;
    }
      

  3.   

    楼主可以参考jdk自带的例子
    jdk1.6.0\demo\jfc\TableExample
      

  4.   

    关于使用JTable显示与更新数据的问题,我有非常完整的解决方案。效果同PowerBuilder的数据窗口。楼主的此类相关问题都不复存在。支持JAVA,独立程序员可免费赠送:[email protected] ,来信即可。