SQL中的Jtable没有输出。 Java的

时间:2017-05-18 08:41:11

标签: java sql swing jframe

我正在使用java,SQL,swing JFrame项目。我是编程新手,我一直试图解决这个问题几个小时而没有任何成功。 我试图创建的程序应该连接到我的数据库(它正在工作),然后将数据从SQL数据库显示到jtable - 这不是100%工作。 现在,在Jtable上打印的唯一内容是数字" 0"。如果我创造一个" Sout"正常的NetBeans输出中打印了正确的信息。

我没有收到错误,所以问题非常复杂。谢谢你的时间=) 我的第一个帖子在这!对不起这个烂摊子。

问题:我没有从我的数据库中获得正确的输出到我的Jtable。正确的输出应该是与用户相关的输出,例如姓名,电话号码 - 不是" 0 0 0"

数据库

        public ArrayList<Kund> kundlista()throws ClassNotFoundException, 
        SQLException{
        ArrayList<Kund> kundlista11 = new ArrayList<>();

   try{


  Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
  System.out.println("Connecting to database...");
  conn2 = DriverManager.getConnection("jdbc:sqlserver://milledb.database.windows.net:1433;database=Javamille;user=mille@milledb;password={Jagheter12};encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;");


  stmt2 = conn2.createStatement();
  String sql2;
  sql2 = "SELECT * FROM Kund";
  ResultSet rs2 = stmt2.executeQuery(sql2);
  Kund kund;
  //STEP 5: Extract data from result set
     while(rs2.next()){

     int Kund_TeleNr = rs2.getInt("Kund_TeleNr");
     int Kund_Pnr  = rs2.getInt("Kund_Pnr");
     String Kund_Fnamn = rs2.getString("Kund_Fnamn");
     String Kund_Enamn = rs2.getString("Kund_Enamn");

     System.out.print("Kundens telenr: " + Kund_TeleNr);

     System.out.println("Kundens efternamn: " + Kund_Pnr);

     kund=new Kund(rs2.getInt("Kund_Telenr"), rs2.getInt("Kund_Pnr"), rs2.getString("Kund_Fnamn"), rs2.getString("Kund_Enamn") );         
     kundlista11.add(kund);
     }


              //STEP 6: Clean-up environment
             rs2.close();
              stmt2.close();
           conn2.close();
               }catch(SQLException se){
         //Handle errors for JDBC
            se.printStackTrace();
           }catch(Exception e){


           }finally{
       try{
     if(stmt!=null)
        stmt.close();
          }catch(SQLException se2){
         }// nothing we can do
          try{
     if(conn!=null)
        conn.close();
  }catch(SQLException se){
     se.printStackTrace();
  }//end finally try

     }
      return kundlista11;

     }
    }    

SWING / UI类

 public class KundUI extends javax.swing.JFrame {

/**
 * Creates new form KundUI
 */
public KundUI() {
    initComponents();

}
public ArrayList<Kund> lista;
public ArrayList<Kund> kundlista() throws ClassNotFoundException{
      ArrayList<Kund> kundlistan = new ArrayList<>();



  try{

  Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  Connection conn2 = null;
  Statement stmt2 = null; 

  System.out.println("123.");

  System.out.println("Connecting..");
  //STEP 3: Open a connection
  System.out.println("Connecting to database...");
  conn2 = 

的DriverManager.getConnection(&#34; JDBC:SQLSERVER://milledb.database.windows.net:1433;数据库= Javamille;用户=米尔@ milledb;密码= {Jagheter12};加密= TRUE; trustServerCertificate =假; hostNameInCertificate = * database.windows.net; loginTimeout = 30;&#34);

  //STEP 4: Execute a query
  System.out.println("Hämtar kunder...");
  stmt2 = conn2.createStatement();
  String sql2;
  sql2 = "SELECT * FROM Kund";
  ResultSet rs2 = stmt2.executeQuery(sql2);
  Kund kund;
  //STEP 5: Extract data from result set
     while(rs2.next()){
     //Retrieve by column name
     int Kund_TeleNr = rs2.getInt("Kund_TeleNr");
     int Kund_Pnr  = rs2.getInt("Kund_Pnr");
     String Kund_Fnamn = rs2.getString("Kund_Fnamn");
     String Kund_Enamn = rs2.getString("Kund_Enamn");

     System.out.print("Kundens telenr: " + Kund_TeleNr);
     System.out.print("Kundens förfanmn: " + Kund_Fnamn);
     System.out.println("Kundens efternamn: " + Kund_Enamn);
     System.out.println("Kundens efternamn: " + Kund_Pnr);

     kund=new Kund(rs2.getInt("Kund_Telenr"), rs2.getInt("Kund_Pnr"), rs2.getString("Kund_Fnamn"), rs2.getString("Kund_Enamn") );         
     kundlistan.add(kund);
     }


  //STEP 6: Clean-up environment
  rs2.close();
  stmt2.close();
  conn2.close();
  }catch(SQLException e){
  //Handle errors for JDBC
 JOptionPane.showMessageDialog(null, e);
  }
       return kundlistan;

     }


    public void visa_kunder() throws ClassNotFoundException{


   DefaultTableModel model = (DefaultTableModel)KundInfoUI.getModel();
   Object[] row = new Object[4];
   for(int i=0;i<lista.size();i++){
       row[0]=lista.get(i).getTelenr();
       row[1]=lista.get(i).getPnr();   
       row[2]=lista.get(i).getFnamn();    
       row[3]=lista.get(i).getEnamn();
       model.addRow(row);


   }

}

MAIN

package javaprojekt;

 import java.sql.SQLException;
  import java.util.ArrayList;


 public class JavaProjekt {


public static void main(String[] args) throws ClassNotFoundException, 
    SQLException {
    Databas data = new Databas();
    BabbeJonas loginGui = new BabbeJonas();
    loginGui.setVisible(true);
    KundUI kundUiT = new KundUI();


      while (loginGui.password1234 == false){

     System.out.println("Hej");
    }
       if(data.login(loginGui.getUserName(), loginGui.getPassWord()) != 
       true){

    // databasen hämtar kunder
   ArrayList<Kund> kundlist; // Lista som finns i MAIN
   kundUiT.lista= (ArrayList<Kund>)data.kundlista().clone(); 
   kundUiT.setVisible(true);
   for(int i = 0; i < kundUiT.lista.size(); i++) {
        System.out.println(kundUiT.lista.get(i).getPnr());
    }




   while(true){







}
    }
}

}

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码填写表格:

    KundInfoUI.setModel(DbUtils.resultSetToTableModel(rs2));