2016-05-28 14 views
1

* Ich bekomme keinen Wert von Max in der Funktion andere. Wert Rückkehr ist "0". Ich versuche aber nicht Erfolg :( ImageHolen Sie den maximalen Wert sql in Java

public int PriceMax(int manhom){ 
     Connection conn = this.connect(); 
     int max = 0; 
     if(conn != null){ 
      try { 
       java.sql.Statement statement = conn.createStatement(); 
       String sql = "SELECT AVG(GiaSP) from tbsanpham where manhom = '"+manhom+"'"; 
       ResultSet rs = statement.executeQuery(sql); 
       max = rs.getInt(sql); 
      } catch (SQLException ex) { 
       Logger.getLogger(CSDL.class.getName()).log(Level.SEVERE, null, ex); 
      } 
     } 
     return max; 
    } 

Hilfe !!!

int manhom = cbbNhomSanPham.getSelectedIndex(); 
     CSDL csdl = new CSDL(); 
     int max = csdl.PriceMax(manhom); 
     JOptionPane.showMessageDialog(null, "Nhóm sản phẩm: '"+cbbNhomSanPham.getName()+"' \nPrice max: '"+max+"' "); 
+0

'max = rs.getInt (SQL);'? Kompiliert dieser Code überhaupt? – Mureinik

+0

Ok, ich versuche zu ändern Objekt –

Antwort

1

Sie sind nicht es, wie es mit sollte sein.

Zuerst verwenden Sie ÀVG aber wollen MAX so ändern Sie es zu MAX(GiaSP). Zweitens müssen Sie rs.next() verwenden, damit der Cursor in die erste Zeile springt und Informationen von ihm erhält.

java.sql.Statement statement = conn.createStatement(); 
String sql = "SELECT MAX(GiaSP) from tbsanpham where manhom = '"+manhom+"'"; 
ResultSet rs = statement.executeQuery(sql); 
if (rs.next()) { 
    max = rs.getInt(1); 
} 
+0

Ok vielen Dank, es ist Arbeit: D –

+0

Ich habe einen Fehler "AVG" mit "max" @@ –

+0

@ChungBack Du bist herzlich willkommen. Vergiss nicht zu Upvote/Akzeptieren, wenn es dir geholfen hat. –

-1
public int PriceMax(int manhom){ 
     Connection conn = this.connect(); 
     int max = 0; 
     if(conn != null){ 
      try { 
       java.sql.Statement statement = conn.createStatement(); 
       String sql = "SELECT AVG(GiaSP) from tbsanpham where manhom = '"+manhom+"'"; 
       ResultSet rs = statement.executeQuery(sql); 
       while(rs.next()) 
       { 
        max = rs.getInt("GiaSP"); 
       } 
      } catch (SQLException ex) { 
       Logger.getLogger(CSDL.class.getName()).log(Level.SEVERE, null, ex); 
      } 
     } 
     return max; 
    } 

:(Geht nicht

+0

Bearbeiten Sie Ihren Beitrag, wenn Sie Informationen hinzufügen möchten./ –

0
ResultSet rs = stmt.executeQuery("select MAX(GiaSP) as maxGiaSP from tbsanpham where manhom = '"+manhom+"'"); 
if (rs.next()) 
{ 
    int w = rs.getInt("maxGiaSP "); 

    // just return this int 
} 
Verwandte Themen