Daten aus Vektor in eine DB

Status
Nicht offen für weitere Antworten.

Vril

Bekanntes Mitglied
Hallo,

ich habe eine Klasse Tabelle in der mehrere Datensätze liegen:
Code:
public class Tabelle {
	
	public Verein[] tabelle = {
		
		new Verein ( 1, "Werder Bremen", 34, 22, 8, 4, "79:38", 74),
		new Verein ( 2, "FC Bayern München", 34, 20, 8, 6, "70:39", 68),
		new Verein ( 3, "Bayer 04 Leverkusen", 34, 19, 8, 7, "73:39", 65),
		new Verein ( 4, "VfB Stuttgart", 34, 18, 10, 6, "52:24", 64),
		new Verein ( 5, "VfL Bochum", 34, 15, 11, 8, "57:39", 56),
		new Verein ( 6, "Borussia Dortmund", 34, 16, 7, 11, "59:48", 55),
		new Verein ( 7, "FC Schalke 04", 34, 13, 11, 10, "49:42", 50),
		new Verein ( 8, "Hamburger SV", 34, 14, 7, 13, "47:60", 49),
		new Verein ( 9, "Hansa Rostock", 34, 12, 8, 14, "55:54", 44),
		new Verein (10, "VfL Wolfsburg", 34, 13, 3, 18, "56:61", 42),
		new Verein (11, "Borussia M'gladbach", 34, 10, 9, 15, "40:49", 39),
		new Verein (12, "Hertha BSC Berlin", 34, 9, 12, 13, "42:59", 39),
		new Verein (13, "SC Freiburg", 34, 10, 8, 16, "42:67", 38),
		new Verein (14, "Hannover 96", 34, 9, 10, 15, "49:63", 37),
		new Verein (15, "1.FC Kaiserslautern", 34, 11, 6, 17, "39:62", 36),
		new Verein (16, "Eintracht Frankfurt", 34, 9, 5, 20, "36:53", 32),
		new Verein (17, "TSV 1860 München", 34, 8, 8, 18, "32:55", 32),
		new Verein (18, "1.FC Köln", 34, 6, 5, 23, "32:57", 23),
	};
	public Verein[] getTabelle(){
		return tabelle;
	}
Nun habe ich eine Klasse Datenbank geschrieben, die eine neue Table Fussballer erzeugt. Jetzt wollte ich fragen kann ich die Datensätze aus Tabelle, also nur Nr, Name und Punkte irgendwie mit einer Schleife oder so in meinen Table Fussballer schreiben lassen?
 

bambi

Bekanntes Mitglied
Klar geht das! :wink:

Du musst einfach mit einer Schleife Deinen Vector durchlaufen und dann die jeweiligen Daten in die DB einfuegen. Falls
Du Fragen zum Insert hast, findest Du sicher auch ganz viele Beispiele dazu hier im Forum. Einfach mal Suchen...
Das hier ist glaub' ich ein ganz nettes Beispiel: http://www.java-forum.org/de/viewtopic.php?t=18371

Ansonsten bei konkreten Fragen/Problemen kannst Du ja mal den Code posten, den Du schon zum Insert hast...
 

Vril

Bekanntes Mitglied
Hm, ich scheitere eigentlich schon daran den Vector zu durchlaufen und auszugeben!
Hab in der public class Tabelle, nach return tabelle, folgendes eingegeben:
Code:
for (Enumeration el=tabelle.elements(); el.hasMoreElements(); ) {
      System.out.println((String)el.nextElement());
Was mache ich falsch?
 

bambi

Bekanntes Mitglied
Was meinst Du mit "nach return Tabelle"? Sowas?
Code:
public Verein[] getTabelle(){
      return tabelle;
      for (Enumeration el=tabelle.elements(); el.hasMoreElements(); ) {
          System.out.println((String)el.nextElement()); 
   }
Falls ja, das geht nicht, denn dann wird die for-Schleife ja gar nicht durchlaufen. Das return beendet die Methode.

Ansonsten. Schreib' immer mit, was genau Dein Problem ist und was passiert oder eben nicht geht - am besten waer'
natuerlich 'ne Fehlermeldung. Also alles posten, sonst koennen wir ja auch nicht wissen wo genau das Problem liegt...
 

Vril

Bekanntes Mitglied
Ok, also jetzt hab ich das return tabelle weggelassen, jetzt bekomme ich aber folgende Fehlermeldung:

cannot find symbol method elements()
 

bambi

Bekanntes Mitglied
Mhhh... das ist java 5, richtig? Da muss ich leider passen... :oops:

Aber zum Testen kannst Du ja vielleicht mal sowas verwenden...
Du musst den Code sicher noch etwas anpassen. Aber so muesstest Du ja erst mal an Deine Objekte im Array
drankommen und schon mal den Eintag in die DB testen.
Code:
   public Verein[] getTabelle(){
      return tabelle;
   }
   
   public void printNames()
   {
       int len = this.tabelle.length;
       Verein currVerein = null;
       for (int i = 0; i < len; i++) {
           currVerein = (Verein) tabelle[i];
           System.out.println(currVerein.name);
       }
   }
 

Vril

Bekanntes Mitglied
Ja, verwende Java 5. Aber jetzt wird schon mal fehlerfrei compilet und auch was ausgegeben.
Hab nur anstelle von
System.out.println(currVerein.name);
System.out.println(currVerein);
geschrieben.

Bei der Ausgabe werden jetzt alle Einträge ausgegeben, allerdings steht da jeweils immer:
Verein@mit verschiedenen Ziffern und Zeichen

Hier müsste ich wahrscheinlich das ganze noch in einen String umwandeln?

Jetzt stellt sich dann nur noch die Frage wie ich das konkret in die DB schreibe?
 
G

Guest

Gast
Du musst die Methode toString() in der Klasse Verein implementieren.
z.B.
Code:
public class Verein ...
{
  ...
  
  public String toString()
  {
    StringBuffer b = new StringBuffer(64);
  
    b.append("[")
     .append(vereinnr)
     .append(", ")
     .append(vereinname)
... usw.
     .append("]");
  
    return b.toString();
  }
}
 

Vril

Bekanntes Mitglied
Wenn ich das ganze in eine DB schreibe muß ich dann das ganze auch in einen String umwandeln oder geht das auch so?
 
G

Guest

Gast
Das mit Datenbank ist auch einfach.
Code:
Connection connection = ...; // woher auch immer
PreparedStatement statement = null;
...
try
{
  statement = connection.prepareStatement("INSERT INTO Verein(vereinnr, vereinname ...) VALUES(?,? ...)");
  
  for(int i=0; i<vereine.length; i++)
  {
    statement.setInt(1, vereine[i].vereinnr);
    statement.setString(2, vereine[i].vereinname);
    ...usw. mit anderen Feldern
    statement.addBatch();
  }

  statement.executeBatch();
...
}
catch(SQLException)
{
  ... Fehlerbehandlung
}
finally
{
  PreparedStatement und Connection schliessen
}
Mehr dazu findest Du in anderen Beiträgen hier im Forum.
 

Vril

Bekanntes Mitglied
Also ich hab das ganze jetzt so gemacht, jetzt wird zwar der komplette Vector durchlaufen, aber es werden nur lauter 0 und null werte geschrieben, an was könnte das liegen?

Code:
import java.sql.*;

public class AufgabeJDBC22 {
	Connection con ;
	Statement stmt ;
	
	
	public AufgabeJDBC22 () {
		try {	
	       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
	        con = DriverManager.getConnection( "jdbc:odbc:;DRIVER=Microsoft Access Driver (*.mdb);DBQ=sbdemo"); 
		}
		 catch (Exception e) {
	        System.err.println("Fehler: " + e);	}
	}
	public void datenEintragen () {
		Tabelle meineTabelle = new Tabelle(); 
    Verein[] meinVerein = meineTabelle.getTabelle(); 
		try {	
			stmt = con.createStatement();
			for (int i=0; i<meinVerein.length;i++) {
				
			stmt.executeUpdate("INSERT INTO FTabelle VALUES ('"+meinVerein[i].getPlatz()+"','"+meinVerein[i].getName()+"','"+meinVerein[i].getTore()+"','"+meinVerein[i].getPunkte()+"')");	  
		  System.out.println(meinVerein[i].getPlatz());
					}
			}
			 catch (Exception e) {
		        System.err.println("*** Fehler: " + e);	}
	}
	
	public static void main(String[] args) {
		AufgabeJDBC22 test = new AufgabeJDBC22();
		//test.tabAnlegen ();
		test.datenEintragen ();
	}
	}
Hat zufällig jemand eine Idee an was das liegen könnte?
 

pro_evo

Aktives Mitglied
das liegt an der Klasse Verein ... aber das kann man mit den Angaben oben ned nachvollziehen, zum Verständnis zitier ich mal aus icq ;)

Rakatack 26.06.20 03:23 warum sollten die Werte ned null sein ??

Rakatack 26.06.20 03:23 werden sie irgendwo gesetzt ? -> NEIN

Rakatack 26.06.20 03:23 der Kontruktor von Verein ist LEER der setzt nix
!

Vril 26.06.20 03:23 hm, die stehen ja in verein drin, und es werden
ja auch alle eintraege durchlaufen...

Vril 26.06.20 03:23 d.h.?

Rakatack 26.06.20 03:24 der Kontruktor von Verein ist LEER der setzt nix
!

Vril 26.06.20 03:24 ich mein in tabelle..

Rakatack 26.06.20 03:25 was rufst du denn mit z.B. new Verein (18, "1.FC
Köln", 34, 6, 5, 23, "32:57", 23), auf ?
den Konstruktor und der macht NICHTS NADA

Vril 26.06.20 03:25 ja, aber so stehts in der angabe drin... da
koennen wir ja aendern dran!

Vril 26.06.20 03:26 nix aendern mein ich

Rakatack 26.06.20 03:27 ne so stehts ned drin

Vril 26.06.20 03:27 sondern?

Rakatack 26.06.20 03:27 der konstruktor den du benutzt der steht gar ned
drin

Vril 26.06.20 03:28 hast jetzt ne andere angabe wie ich oder was?

Rakatack 26.06.20 03:29 wo steht bei deiner Angabe
public Verein(int platz,String name,int
spiele,int siege,int unentschieden,int
niederlagen,String tore,int punkte) {

}
?

Rakatack 26.06.20 03:30 das hast du selber geschrieben

Vril 26.06.20 03:31 ja, aber wenn des weg is, funzt tabelle nicht
mehr...

Rakatack 26.06.20 03:31 jo .. trotzdem is der Konstruktor den du da
geschrieben hast LEER und daran ligt es ...

Vril 26.06.20 03:32 ja k.a., ich weiss nicht wies richtig geht....
vielleicht findet ja die naechsten tage evtl.
jemand ne loesung..... ich geh ins bett und
schiess am montag den *** auf den mond!

Rakatack 26.06.20 03:32 lol ?

Rakatack 26.06.20 03:33 die lösung is doch klar

Rakatack 26.06.20 03:33 muss halt die attribute setzen mehr ned

Vril 26.06.20 03:33 ja_

Vril 26.06.20 03:33 wie, wo, ich check nix mehr...?

Rakatack 26.06.20 03:34 na in deinem LEEREN konstruktor wo sonst ?

Vril 26.06.20 03:34 public void setPlatz(int Platz){
this.Platz = Platz;

Vril 26.06.20 03:35 dachte damit geht das ab?

Rakatack 26.06.20 03:35 die wird doch nie benutzt


Rakatack 26.06.20 03:35 oder sag mir wer due aufruft

Rakatack 26.06.20 03:35 wo wird denn setPlatz aufgerufen ?

Rakatack 26.06.20 03:35 Antwort: Nirgends !

Vril 26.06.20 03:35 ausserdem welchen sch....dreck gibt uns da der
*** in die hand? in der urversion gehts
nicht...

Vril 26.06.20 03:36 ich weiss nicht, sags du mir...

Rakatack 26.06.20 03:36 Nirgends

Rakatack 26.06.20 03:36 war die antwort

Vril 26.06.20 03:36 ja, was muss ich also konkret machen das es
funzt?

Rakatack 26.06.20 03:36 sowas musst halt machen

Rakatack 26.06.20 03:36 public Vertreter(String name, String gebiet, int
umsatz)
{
this.name = name;
this.gebiet = gebiet;
this.umsatz = umsatz;
}

Vril 26.06.20 03:37 in AufgabeJDBC2 ?

Rakatack 26.06.20 03:37 in VEREIN
 

Vril

Bekanntes Mitglied
Geht aber trotzdem nicht, bzw. wird trotzdem nur 0 angezeigt.
Hier der Code, das mit this ist wohl doppelt gemoppelt:
Code:
public class Verein{
	
	public Verein(int platz,String name,int spiele,int siege, int unentschieden, int niederlagen, String tore,int punkte) {
	//public Vertreter(String name, String gebiet, int umsatz) 
	  
	  	this.Platz = Platz; 
			this.name = name; 
			this.spiele = spiele;
			this.siege = siege;
			this.unentschieden = unentschieden;
			this.niederlagen = niederlagen;
			this.spiele = spiele;
			this.tore = tore;
			this.punkte = punkte;
	  
		}
		private int Platz;
		private String name;
		private int spiele;
		private int siege;
		private int unentschieden;
		private int niederlagen;
		private String tore;
		private int punkte;
		
		public void setPlatz(int Platz){
			this.Platz = Platz;
		}
		public int getPlatz(){
			return Platz;
		}
		public void setName (String name) {
			this.name = name;
		}
		public String getName(){
			return name;
		}
		public void setSpiele(int spiele){
			this.spiele = spiele;
		}
		public int getSpiele(){
			return spiele;
		}
		public void setSiege(int siege){
			this.siege = siege;
		}
		public int getSiege(){
			return siege;
		}
		public void setUnentschieden(int unentschieden){
			this.unentschieden = unentschieden;
		}
		public int getUnentschieden(){
			return unentschieden;
		}
		public void setNiederlagen(int niederlagen){
			this.niederlagen = niederlagen;
		}
		public int getNiederlagen(){
			return niederlagen;
		}
		public void setTore(String tore){
			this.tore = tore;
		}
		public String getTore() {
			return tore;
		}
		public void setPunkte (int punkte){
			this.punkte = punkte;
		}
		public int getPunkte(){
			return punkte;
		}
		
}
 

Vril

Bekanntes Mitglied
Jetzt hab ich es!
Mein Problem war nicht der Konstruktor weil er nicht da, er war da, von anfang an, sondern mein Konstruktor weil da platz stand und bei den Methoden Platz.... Also Groß- und Kleinschreibung beachten bei Java!
:oops:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Alte Daten ins neue Modell quetschen Datenbankprogrammierung 6
R Mongodb Daten werden immer überschrieben Datenbankprogrammierung 7
R Mongodb Daten in einem bestimmten Document speichern Datenbankprogrammierung 1
OnDemand Daten auf mehrere Tabellen aufteilen oder Spalten nutzen Datenbankprogrammierung 2
B Daten HSQL-DB Datenbankprogrammierung 2
V H2 ManyToMany wie speichere ich die Daten? Datenbankprogrammierung 10
thobren Projekt SQlite! Wie kann ich auf auf SQlite Daten zugreifen? Datenbankprogrammierung 4
OnDemand Daten verschlüsseln Datenbankprogrammierung 42
L Oracle Daten in Häppchen selektieren Datenbankprogrammierung 5
L Oracle Daten von Oracle zu MSSQL übertragen Datenbankprogrammierung 4
D Daten aus der Firebase-Echtzeitdatenbank abfragen und in Variablen speichern (JAVA) Datenbankprogrammierung 0
Z Ausgabe nur bestimmter Daten Datenbankprogrammierung 6
E netbeans - jsp Daten in Datenbank hinzufügen Datenbankprogrammierung 2
N Java Abfrage über GUI, Daten hinzufügen Datenbankprogrammierung 54
Kirby.exe Vorschläge zur Verschlüsselung von Daten in der DB Datenbankprogrammierung 2
T Java Spiel Daten speichern Datenbankprogrammierung 1
LimDul H2 Embedded DB und Gigabytes an Daten Datenbankprogrammierung 0
C Datenbank anlegen und über eine Website mit Daten füllen? Datenbankprogrammierung 25
R Wie mit zu viele Daten umgehen? Datenbankprogrammierung 2
F MySQL Wie speichere ich Daten zeitlich abhängig? Datenbankprogrammierung 4
T Oracle Normalisierung und Daten splitten Datenbankprogrammierung 1
JG12111989 DB-Daten werden falsch dargestellt Datenbankprogrammierung 7
K H2 Daten in die H2 console DB eintragen Datenbankprogrammierung 2
L SQLite Ändern der Daten in einem UNIQUE Feld Datenbankprogrammierung 1
S Daten von SQLite Datenbank nutzen Datenbankprogrammierung 5
P JSP - Daten aus 2 Tabellen in eine neue Tabelle einfügen Datenbankprogrammierung 1
L Oracle Daten von einem Server zum andere kopieren Datenbankprogrammierung 24
P Daten in eine mySQL Datenbank einfügen Datenbankprogrammierung 4
L MySQL Vergleichen von Array-Inhalt, Ausgabe gleicher Daten Datenbankprogrammierung 3
W Daten in Java intern abfragen Datenbankprogrammierung 1
G MySQL Java Problem: Nullpointer Exception obwohl Daten vorhanden sind? Datenbankprogrammierung 2
W Daten aus einer Datei von einem VServer auslesen Datenbankprogrammierung 1
I MySQL Datenbankstruktur angleichen - Daten behalten Datenbankprogrammierung 7
O JDBC Daten in zwei Tabellen mit zwei foreach-Schleifen einfügen (insert into) Datenbankprogrammierung 1
P LDAP: Daten eintragen funktioniert nicht Datenbankprogrammierung 7
B MySQL LogIn Daten im Code verstecken Datenbankprogrammierung 3
O mit Multi-Thread Daten aus Datenbank lesen und schreiben Datenbankprogrammierung 22
F Daten verdichten Datenbankprogrammierung 0
Z Finde den Fehler: Daten aus einer Access-Datenbank lesen Datenbankprogrammierung 12
B Daten aus DB in Word Dokument Datenbankprogrammierung 2
D Aktualisierung einer ListView mit Daten aus MySQL-DB Datenbankprogrammierung 5
D Daten posten auf RestApi (Mongodb/NoSQL) Datenbankprogrammierung 0
I Fehler bei Ausgabe der Daten aus der DB Datenbankprogrammierung 3
OnDemand MySQL Daten aktualisieren Datenbankprogrammierung 6
D Daten von einem Server in eigenem Java-Programm benutzen Datenbankprogrammierung 6
M Vergleich von Daten in verschiedenen Tabellen Datenbankprogrammierung 1
S Daten aus Form in Datenbank nur einmal eintragen Datenbankprogrammierung 2
6 JBDC Daten verschlüsseln? Datenbankprogrammierung 2
F MySQL Daten ändern über Java Datenbankprogrammierung 3
G SQLite Daten aus SQLite DB in andere SQLite DB importieren Datenbankprogrammierung 4
H Grosse Menge an Daten in eine Datenbank Datenbankprogrammierung 32
M Daten nachträglich hinzufügen Datenbankprogrammierung 6
2 MySQL Daten aus einer Array auslesen und MySQL Statment erstellen. Datenbankprogrammierung 5
E Daten einer SQL-Datenbank aus Combobox in labels schreiben Datenbankprogrammierung 6
N HSQLDB Daten Auslesen Datenbankprogrammierung 3
O Viele Verbindungen-Exception bei insert Daten zur MySQL-Datenbank Datenbankprogrammierung 2
P MySql daten in leeren jtable übertragen Datenbankprogrammierung 5
SexyPenny90 SQL Daten sortieren und top 5 ausgeben Datenbankprogrammierung 7
L Hibernat will Daten nicht einfügen??? Datenbankprogrammierung 2
B MySQL DB Daten aktualisieren Datenbankprogrammierung 9
D MySQL Daten werden aus Datenbank gelesen, obwohl sie dort gar nicht angekommen sind Datenbankprogrammierung 8
Kenan89 Oracle Daten einer Tabelle in Array speichern Oracle Datenbankprogrammierung 10
L SQLite Daten werden nicht in die Tabelle eingefügt Datenbankprogrammierung 7
D Übersichtliche Zuweisung von Daten in Tabellen Datenbankprogrammierung 17
C ResultSet enthält nicht alle Daten Datenbankprogrammierung 4
A Problem mit Eintragen von Daten in eine Datenbank mittels DAO Datenbankprogrammierung 4
J Daten synchronisieren in Multi-Client-Anwendungen (Hibernate) Datenbankprogrammierung 6
S JPA: DB Schema ändern und Daten nicht verlieren - wie? Datenbankprogrammierung 5
T MySQL Select: Zusammenfassen von Daten und bilden von Durchschnitt? Datenbankprogrammierung 4
F Daten in die DB hinzufügen Datenbankprogrammierung 7
H Klasse welche Mysql Daten zurück gibt Datenbankprogrammierung 18
S JPA: Problem mit Update von Daten Datenbankprogrammierung 7
H Daten in/aus Datenbank schreiben Datenbankprogrammierung 2
M DropDownBoxen mit MySQL Daten füllen Datenbankprogrammierung 3
E MySQL Daten in die Datenbank eingeben via Java Programm Datenbankprogrammierung 3
F ORA 17410 Keine weiteren Daten aus Socket zu lesen Datenbankprogrammierung 2
B Daten aus Datenbank holen Datenbankprogrammierung 6
T Problem beim schreiben von daten Datenbankprogrammierung 4
N Daten aus Datenbank abfragen und anzeigen in der Praxis?? Datenbankprogrammierung 2
G MySQL Bekomme keine Daten. Datenbankprogrammierung 7
L CLOB-Daten werden beim Einfügen in die Datenbank geändert? Datenbankprogrammierung 5
G Daten aggregieren Datenbankprogrammierung 11
Gossi Oracle 2 Daten (Datum) vergleichen Datenbankprogrammierung 6
W MySQL Daten aus bestimmter Spalte lesen Datenbankprogrammierung 2
E MySQL Befüllen einer MySQL DB mit großen Daten Datenbankprogrammierung 6
J Doppelte Daten in Spalte, nur die erste abrufen wie? Datenbankprogrammierung 15
P Daten aus MySql Datenbank lesen??? Datenbankprogrammierung 6
J Daten vergleichen Datenbankprogrammierung 10
S Daten einer Tabelle vergleichen und ggs neuen Wert einfügen Datenbankprogrammierung 8
X Daten einer DatenbankTabelle in JTable darstellen Datenbankprogrammierung 13
T Designfrage: DB-Daten direkt oder verzögert speichern Datenbankprogrammierung 2
Dragonfire Daten aus jsp Datei in datenbank speichern Datenbankprogrammierung 15
A Daten von Webshop einlesen Datenbankprogrammierung 5
S Daten aus jTextfiled in DB schreiben - SQL Befehl Datenbankprogrammierung 2
T Daten aus DB in variable Zahl an Variablen speichern Datenbankprogrammierung 18
A Datenbankanbindung an mySQL und Ein-/Auslesen der Daten Datenbankprogrammierung 4
D Vector mit Daten aus der Datenbank füllen Datenbankprogrammierung 7
G Daten aus ResultSet in String-Liste Datenbankprogrammierung 13
S Fehler beim Auslesen von Daten Datenbankprogrammierung 6
D Keine Ausgabe der Daten Datenbankprogrammierung 3

Ähnliche Java Themen


Oben