Ergebnisse von exectueQuery als Array ausgeben

nickname

Bekanntes Mitglied
Hallo zusammen,

würde gerne statt:
Java:
public void zweiteAbfrageAdresse()
		{
			try
			{
					stat = con.createStatement();
					rs = stat.executeQuery(string2);
						while(rs.next())
						{
							name = rs.getString("name");
							vorname = rs.getString("vorname");
							strasse = rs.getString("strasse");
							hnr = rs.getString("nummer");
							plz = rs.getString("plz");
							ort = rs.getString("ort");
							telef = rs.getString("telefon");
							teleGesch = rs.getString("telefonGesch");
							mobil1 = rs.getString("mobil1");
							mobil2 = rs.getString("mobil2");
							email = rs.getString("email");
							fax = rs.getString("fax");			
						}	
				setCloseResultSet();
					setCloseStatement();
			}
			catch(SQLException sqle)
			{
				System.out.println("Zweite Execption" + sqle);
			}
		}
so etwas (bezogen auf "name, strasse.." usw. gerne alles in ein Vector
packen, wie hier
Java:
private Vector<String> executeQueryAdressen()
	{
		ds = conPool.setConnectionPoolDataSourceToMotorrad();//Ruft eine separate Methode auf	
		try
		{
			vec = new Vector<String>();			
			con = ds.getConnection();
			stat = con.createStatement();
			rs = stat.executeQuery(executeQuery);			
				i = 0;					
					while(rs.next())
					{
						vec.addElement(rs.getString("name"));// auch ausprobiert-->vec.addElement(rs.getString("name") + rs.getString("strasse") usw.) klappt aber nicht
						vec.addElement(rs.getString("strasse"));
						vec.addElement(rs.getString("strasse"));
						vec.addElement(rs.getString("nummer")); 
        usw.
						i++;
					}					
					stat.close();
					rs.close();
					con.close();						
						con = null;			
		}		
		catch(SQLException sqlEx)
		{
			sqlEx.printStackTrace();
			con = null;
		}		
		return vec;
	}
dann wird diese Liste noch in ein ArrayList gepackt
Java:
private String[] listeErzeugen(String[] stringArray)
	{
		int d = stringArray.length;		
		String[] arrayList = new String[d];		
		List<String> liste = new ArrayList<String>(d);			
			for(int x = 0; x < d; x++)
			{
				liste.add(stringArray[x]);
			}			
				Object[] ob = liste.toArray();
					for(int x = 0; x < d; x++)
					{
						arrayList[x] = (String)ob[x].toString();
					}
			return arrayList;
	}
hier sollte die fertige Liste als Array ausgeben werden.
Java:
public void aufrufenExecuteQueryKawa(NewContact newCon)
	{
		Vector<String> vec = executeQueryAdressen();						
			Enumeration<String> en = vec.elements();						
				String[] stringIntern = new String[i];							
					for(int x = 0; x < i; x++)
					{
						stringIntern[x] = en.nextElement();
					}					
				String[] ein = listeErzeugen(stringIntern);//befindet sich über dieser Methode				
				for(int x = 0; x < i; x++)
				{
					System.out.println("Es sind : " + ein[x] + " Elemte in der Liste vorhanden");//eigentliche Ausgabe
				}
	}
Die Ausgabe sieht so aus
Java:
Es sind : Yamaha Elemte in der Liste vorhanden
Ich bekomme einfach nicht die gesamte Zeile aus der Datenbank in diesen Vector.
Wenn ich aber nur eine Spalte in dieser Form ausgebe, dann klappt das aber eine Zeile...:bahnhof:

Oder bleibt mir nichts anderes übrig als die erste Variante in betracht zu ziehen (ganz oben die Methode) Oder muss ich mehrer Instanzen der Klasse Vector bilden?

danke, nickname

Sorry für so viel Code:oops:
 
S

SlaterB

Gast
die Methode listeErzeugen() macht gar nichts sinnvolles, soweit ich das sehe,
aus einem Array a, b, c wird genau wieder ein gleiches Array a, b, c erstellt,
was soll da passieren?

----

ansonsten scheint mir, dass der Vector vec ordentlich gefüllt wird,
und i auf 1 steht, da nur ein Ergebnis zurückkommt, (ein Ergebnis mit 10 Attributen oder so -> 10 Elemente im Vector)

also füllst du das Array stringIntern genau mit dem ersten Element von vec, den Rest ignorierst du,
am Ende erscheint in der Ausgabe dieses erste Element

----

mit System.out.println() überall zwischendurch einfachst möglich selber nachzuvollziehen
 

nickname

Bekanntes Mitglied
Hi SlaterB,

danke für deine Anregungnen!

Hab jetzt wohl den Fehler entdeckt (eigentlich Zufall, wie vielen Erfinfungen...)

Nochmal der Code, der meine Veränderung enthält
Java:
public void aufrufenExecuteQueryAdressen(NewContact newCon)
	{
		Vector<String> vec = executeQueryAdressen();		
			
			Enumeration<String> en = vec.elements();
				
						int i = vec.size();//Hier habe ich das eingefügt! Und jetzt läuft es
                                                                     //genauso, wie ich es wollte.
				String[] stringIntern = new String[i];
				
					for(int x = 0; x < i; x++)
					{
						stringIntern[x] = en.nextElement();
					}					
				for(int x = 0; x < i; x++)
				{					
					System.out.println(x + " - " + stringIntern[x]);
				}
	}
Hier ist auch ein Fehler gewesen
Java:
for(int x = 0; x < i; x++)
{
    stringIntern[x] = en.nextElement();
}
Das "i" habe ich als eine public Variable definiert. Das du ja sagtes, dass i = 1 ist, hat dieses i der for-Schleife auf das public "i" zugegriffen und somit nur einen Durchgang gestartet. Durch die lokale Variable "i" wurde die Vectorgröße ermittelt und somit konnte natürlich die for-schleife mehrmals durchlaufen.

SlaterB hat gesagt.:
die Methode listeErzeugen() macht gar nichts sinnvolles, soweit ich das sehe,
jetzt sehe ich es auch:)

danke nochmal!!

gruß nickname
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T MySQL Gleiche Ergebnisse mit Offset Datenbankprogrammierung 5
S select: alle ergebnisse ermitteln Datenbankprogrammierung 5
J Speicherung von java.sql.Date liefert inkorrekte Ergebnisse Datenbankprogrammierung 4
Mrtwomoon Abfrage-Ergebnisse in einem Fenster darstellen Datenbankprogrammierung 8
M Access Abfrage mit Parameter & Access/Java liefern unterschiedliche Ergebnisse Datenbankprogrammierung 2
B Derby Databankabfrage liefert Ergebnisse nicht korrekt Datenbankprogrammierung 2
C SQL Befehle ausführen und deren Ergebnisse verarbeiten Datenbankprogrammierung 3
V 3x selbes Ergebnis trotz 3x verschiedene Ergebnisse? Datenbankprogrammierung 2
M MySQL Datenbank in Array Datenbankprogrammierung 2
S Suche In SQL Datenbank mit array Datenbankprogrammierung 6
N SQL Datenbank Spalte in Java Array Datenbankprogrammierung 2
W MySQL DB Abfrage in Array, gemischte Array, generelles vorgehen Datenbankprogrammierung 4
G Eine Spalte in xampp als Typ array erstellen - ein array mit "insert" hinzufügen. Datenbankprogrammierung 3
S MongoDB - Abfrageergebnis in Array speichern Datenbankprogrammierung 2
V Datenbankwerte in Array einfügen Datenbankprogrammierung 1
L MySQL Vergleichen von Array-Inhalt, Ausgabe gleicher Daten Datenbankprogrammierung 3
T Oracle Resultset to Array sehr langsam. Datenbankprogrammierung 8
A Oracle insert Array in DB Datenbankprogrammierung 7
J SQL SELECT mit einem Array Datenbankprogrammierung 1
M byte-Array in Datenbank speichern Datenbankprogrammierung 2
N String Array in While Schleife befüllen Datenbankprogrammierung 2
2 MySQL Daten aus einer Array auslesen und MySQL Statment erstellen. Datenbankprogrammierung 5
H JSON Array abfrage beschleunigen Datenbankprogrammierung 2
S MySQL ResultSet in ein Array übertragen Datenbankprogrammierung 7
Kenan89 Oracle Daten einer Tabelle in Array speichern Oracle Datenbankprogrammierung 10
M Problem Array in BLOB-Feld in DerbyDB zu speichern Datenbankprogrammierung 5
S Matrix vom Typ Double aus .txt lesen und in ein Array speich Datenbankprogrammierung 3
S PreparedStatement setArray(int i, java.sql.Array) Datenbankprogrammierung 17
D String[][] Array in Access Datenbank speichern Datenbankprogrammierung 5
A SQL Datenbankabfrage in Array speichern Datenbankprogrammierung 3
K Ergebnis aus SQL Abfrage in Array speichern Datenbankprogrammierung 3
B double Array in MySQL Datenbank speichern/laden Datenbankprogrammierung 12
L DB Felder in einem Array speichern und wieder auslesen Datenbankprogrammierung 11
V Daten aus Tabelle in einen Array Datenbankprogrammierung 4
L Array / Bitset in Mysql-DB speichern Datenbankprogrammierung 3
K Weiterverarbeitung der DB-Daten...Array...Vector...??? Datenbankprogrammierung 3
T Aus einem Array in Datenbank einlesen? Datenbankprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben