# String toInt?



## ramzymamzy (4. Februar 2005)

Hi Leuts,

bekomme hierduch die Anzahl von Angebote und Bestellungen zurück und will jetzt Bestellungen durch Angebote teilen um herauszufinden wieviele angebote zu wievielen Bestellungen geführt haben!


```
public ResultSet retrieveOfferOrderStatus(Connection theConnection){	
		  
		ResultSet rs = null;
		ResultSet sr = null;
	  
		try {  
			// Create a result set containing all data from my_table
			Statement stmt = theConnection.createStatement();
			Statement stm = theConnection.createStatement();
			
			rs = stmt.executeQuery("SELECT COUNT(*) FROM XFLEET_CALC.ORDERS");
			sr = stm.executeQuery("SELECT COUNT(*) FROM XFLEET_CALC.OFFERS");

			  while (sr.next()) {
				String r = sr.getString("COUNT(*)");
				System.out.println("Anzahl der Angebote: " + r);
				//int offer = sr.toInt(String r);

			  }
			// Fetch each row from the result set
			  while (rs.next()) {
				 String s = rs.getString("COUNT(*)");
				 System.out.println("Anzahl der Bestellungen: " + s);
			  } 
	
		}
		  	catch (SQLException e) {
			}
	  return rs;
	}
```
ahso bisherige ausgabe:
Anzahl der Angebote: 1008
Anzahl der Bestellungen: 449

Kann jemand helfen? Es gibt eine String toInt methode! gehts mit der?
Danke im vorraus!


----------



## teppi (4. Februar 2005)

Huhu !


```
String eineZahlAlsString = "1";

int eineZahlAlsInt = Integer.parseInt(eineZahlAlsString);
```

Gruß Stefan

PS: da kann übrigens `ne NumberFormatException auftreten, welche behandelt werden sollte ..

PPS: hehe hab mir gar nicht den Code angeschaut .. Christians Weg is natürlich noch einfacher


----------



## Christian Fein (4. Februar 2005)

Wieso liest du String aus:
String r = sr.getString("COUNT(*)");

wenn du int haben willst.

rs bietet dir statt getString() eine getInt() Methode.

int count = sr.getInt("COUNT(*)");


----------



## torsch2711 (4. Februar 2005)

Hi,

also ich versteh deine Frage nicht so hunderprozent (da die formulierung für mich etwas seltsam ist).

Also ich würde das so machen (alternative zu obigem Integer.parseInt(String)):

String zahl="123456";
int test=0;
Integer testInt=new Integer(zahl);

test=testInt.intValue();




Gruss 

Torsten


----------



## teppi (4. Februar 2005)

Neenee Christian hat schon recht .. Das Umwandeln ist ein überflüssiger Schritt da ResultSet schon die nötige Abfrage liefert ..


----------



## Bernd1984 (4. Februar 2005)

Hallo,

 Select Count(*) From tabelle
 liefert immer eine Zahl zurück, deshalb liesst man den Wert mit der Methode rs.getInt() aus.


----------



## ramzymamzy (4. Februar 2005)

Hmmmm ja das geht!
wo baue ich jetzt das hier ein:
int verhaeltnis = order/offer   


```
public ResultSet retrieveOfferOrderStatus(Connection theConnection){	
		  
		ResultSet rs = null;
		ResultSet sr = null;
	  
		try {  
			// Create a result set containing all data from my_table
			Statement stmt = theConnection.createStatement();
			Statement stm = theConnection.createStatement();
			
			rs = stmt.executeQuery("SELECT COUNT(*) FROM XFLEET_CALC.ORDERS");
			sr = stm.executeQuery("SELECT COUNT(*) FROM XFLEET_CALC.OFFERS");

			  while (sr.next()) {
				int offer = sr.getInt("COUNT(*)");
				System.out.println("Anzahl der Angebote: " + offer);
			  }
			// Fetch each row from the result set
			  while (rs.next()) {
				 int order = rs.getInt("COUNT(*)");
				 System.out.println("Anzahl der Bestellungen: " + order);
			  } 
		}
		  	catch (SQLException e) {
			}
	  return rs;
	}
```


----------



## ramzymamzy (4. Februar 2005)

weil die beiden variablen sind ja nur in der if verzweigung vorhanden oder?


----------



## Bernd1984 (4. Februar 2005)

Hallo,

   dieses, bzw. ein Problem des gleichen Typs haben wir doch schon hier besprochen.

   Ja, deine Vermutung ist richtig.
   Du musst die Variablen ausserhalb der while-Schleifen deklarieren.


----------



## ramzymamzy (4. Februar 2005)

ja stimmt so gehts! gibts auch ein tofloat? weil wenn ich die beiden zahlen miteinander teile dann bekomme ich komma zahlen die aber ganzzahlig ausgegeben werden! d.h gerundet auf eine ganze zahl!


----------



## teppi (4. Februar 2005)

Ich glaube, du solltest dir erstmal grundlegende Sachen über Java anlesen. Da gibts relativ viel Onlineliteratur zu ... -> Google 

Du kannst Werte verschiedener Wertebereiche einfach ineinander umwandeln, solange nicht die Genauigkeit darunter leidet. 

PS: Lad dir auf jeden Fall die API herunter : http://java.sun.com/j2se/1.5.0/download.jsp

Da stehen alle Klassen samt Methoden drin ..


----------

