首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用向量向量的JDBC数据库java

使用向量向量的JDBC数据库java
EN

Stack Overflow用户
提问于 2013-03-10 11:36:58
回答 1查看 1.8K关注 0票数 0

有人可以通过创建带向量的数据库查询来帮助我吗?

我想查询Lieferranten数据库的nordwind表,并在JTable上显示它。

我的问题是如何在jTable1中显示数据集

这是我以前的代码:

代码语言:javascript
复制
 import java.awt.*;
 import java.awt.event.*;
 import javax.swing.*;
 import javax.swing.event.*;
 import javax.swing.table.*;
 import java.sql.*;
 import java.util.*;



  public class Anzeige extends JFrame {




  private JTable jTable1 = new JTable(5, 5);
  private DefaultTableModel jTable1Model = (DefaultTableModel) jTable1.getModel();
  private JScrollPane jTable1ScrollPane = new JScrollPane(jTable1);



 public Anzeige (String title) {
  super (title);
  setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
  int frameWidth = 676; 
  int frameHeight = 467;
  setSize(frameWidth, frameHeight);
  Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
  int x = (d.width - getSize().width) / 2;
  int y = (d.height - getSize().height) / 2;
  setLocation(x, y);
  Container cp = getContentPane();
  cp.setLayout(null);


  // Anfang Komponenten
  jTable1ScrollPane.setBounds(72, 56, 521, 289);
  jTable1.getColumnModel().getColumn(0).setHeaderValue("Title 1");
  jTable1.getColumnModel().getColumn(1).setHeaderValue("Title 2");
  jTable1.getColumnModel().getColumn(2).setHeaderValue("Title 3");
  jTable1.getColumnModel().getColumn(3).setHeaderValue("Title 4");
  jTable1.getColumnModel().getColumn(4).setHeaderValue("Title 5");
  cp.add(jTable1ScrollPane);
  // Ende Komponenten
  setResizable(false);
  setVisible(true);



 }



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



   try {
    Class.forName("com.mysql.jdbc.Driver").newInstance();

    Connection dbConn =    DriverManager.getConnection("jdbc:mysql://localhost:3306/nordwind", "root", "");

  Statement statement = dbConn.createStatement();

  ResultSet results = statement.executeQuery("SELECT * FROM Lieferranten");

  Vector vector = new Vector();



  while (results.next()) {
    String s1 = results.getString(2);
    String s2 = results.getString(5);
    System.out.println(s1 + "\n" + s2);
    System.out.println(results.getString(2) + " " + results.getString(5));

    Vector data = new Vector();
    data.add(results.getString(1));
    data.add(results.getString(2));
    vector.add(data);


  }
  //results.close();
  statement.close();
  dbConn.close();


}
catch (InstantiationException e) {
  System.err.println("Error in Instantiation!");
}

catch (ClassNotFoundException e) {
  System.err.println("Class not found!");
}

catch (IllegalAccessException e) {
  System.err.println("Access denied!");
}


catch (SQLException e) {
  System.err.println("SQL Error!");
}


}

}
EN

回答 1

Stack Overflow用户

发布于 2013-03-10 14:01:53

我假设您将获得5个列值,因为您已经添加了5个列标题。然后,使用addRow(java.util.Vector)方法DefaultTableModeljTable1中插入行。

代码语言:javascript
复制
import java.awt.*;
 import java.awt.event.*;
 import javax.swing.*;
 import javax.swing.event.*;
 import javax.swing.table.*;
 import java.sql.*;
 import java.util.*;



  public class Anzeige extends JFrame {




  private JTable jTable1 = new JTable(5, 5);
  private DefaultTableModel jTable1Model = (DefaultTableModel) jTable1.getModel();
  private JScrollPane jTable1ScrollPane = new JScrollPane(jTable1);



 public Anzeige (String title) {
  super (title);
  setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
  int frameWidth = 676; 
  int frameHeight = 467;
  setSize(frameWidth, frameHeight);
  Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
  int x = (d.width - getSize().width) / 2;
  int y = (d.height - getSize().height) / 2;
  setLocation(x, y);
  Container cp = getContentPane();
  cp.setLayout(null);


  // Anfang Komponenten
  jTable1ScrollPane.setBounds(72, 56, 521, 289);
  jTable1.getColumnModel().getColumn(0).setHeaderValue("Title 1");
  jTable1.getColumnModel().getColumn(1).setHeaderValue("Title 2");
  jTable1.getColumnModel().getColumn(2).setHeaderValue("Title 3");
  jTable1.getColumnModel().getColumn(3).setHeaderValue("Title 4");
  jTable1.getColumnModel().getColumn(4).setHeaderValue("Title 5");
  cp.add(jTable1ScrollPane);
  // Ende Komponenten
  setResizable(false);
  setVisible(true);



 }



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



   try {
    Class.forName("com.mysql.jdbc.Driver").newInstance();

    Connection dbConn =    DriverManager.getConnection("jdbc:mysql://localhost:3306/nordwind", "root", "");

  Statement statement = dbConn.createStatement();

  ResultSet results = statement.executeQuery("SELECT * FROM Lieferranten");


  while (results.next()) {
    String s1 = results.getString(2);
    String s2 = results.getString(5);
    System.out.println(s1 + "\n" + s2);
    System.out.println(results.getString(2) + " " + results.getString(5));

    Vector data = new Vector();
    data.add(results.getString(1));
    data.add(results.getString(2));
    data.add(results.getString(3));
    data.add(results.getString(4));
    data.add(results.getString(5));
    jTable1Model.addRow(data);


  }
  //results.close();
  statement.close();
  dbConn.close();


}
catch (InstantiationException e) {
  System.err.println("Error in Instantiation!");
}

catch (ClassNotFoundException e) {
  System.err.println("Class not found!");
}

catch (IllegalAccessException e) {
  System.err.println("Access denied!");
}


catch (SQLException e) {
  System.err.println("SQL Error!");
}


}

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15321773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档