frage zum ausführen eines INSERT statements

Status
Nicht offen für weitere Antworten.

kubi

Mitglied
hallo leute!

ich hab ne kleine frage zu nem INSERT was ich mit einem PreparedStatement verusche.

ich habe ein table, welche schon drei spalten mit werten hat.

mit einenm PreparedStatement veruche ich nun die ergebnisse einiger berechnungen in eine weitere spalte des gleichen tables zu schrieben. was jedoch passiert, ist, dass die erste zeile der neu gefüllten spalte da beginnt, wo die drei schon vorhandenen spalten enden ( um genauer zu sein, eine zeile nach der letzten der schon vorhandenen spalten.)

woran liegt das?

ich weiss nicht genau, was ich da falsch mache.

vielen dank für eure hilfe.

grüsse,
k.
 

kubi

Mitglied
hi!

hier mal der code:

Code:
try {
	Statement s = con.createStatement();
	s.executeQuery("Select flow, simTime from link21data");
	ResultSet rs = s.getResultSet();
	while(rs.next())
	{
		oneRow.add(rs.getFloat("flow"));
		oneRow.add(rs.getFloat("simTime"));
		rows.add(oneRow);
	}
	rs.close();
	s.close();

	if (oneRow.size()>0)
	{          
		int minute = 1;
		int index = 1;
		Float starttime = oneRow.get(index);
							
		Float Value;
		Float Time;
		double meanValue = 0;
		int size = 0;
	
		while (index< oneRow.size())
		{
			Time = oneRow.get(index);
			Value = oneRow.get(index-1);
	
			if (Time<starttime+(minute*60))
			{               		
				meanValue += Value;
				size++;
				index+=2;                   
			}
			else
			{	
				if (size > 0)
				{
					meanValue /=size;
				}
                                try{
                                    
                                    PreparedStatement pSt;
                                    pSt = con.prepareStatement("INSERT INTO link12data (1minflow) VALUES (?)");
                                    pSt.setDouble(1, meanValue);
                
                                    pSt.executeUpdate();
                                    
                                }
                                 catch(Exception e){
                                    System.err.println("Failed: Insert Data");
                                    e.printStackTrace();
                                    System.exit(0);
                                }
				//System.out.println(meanValue);
				minute++;
				meanValue = 0;
				size = 0;                   	
			}
		}
		
		meanValue /=size;               		
		
	}
	else
	{
		System.out.println("no data");
	}
}
catch(Exception e)
{
	System.out.println("Error" + e);
}

im ersten teil berechne ich zeitabhaengige mittelwerte, um diese dann in eine neue spalte der gleichen tabelle zu schreiben.

was aber passiert, ist, dass die neu gefuellte spalte erst da beginnt, wo zB meine spalte "flow" endet. mit dem PreparedStatement wird also irgendiwe verschoben in die tabelle geschrieben.

ich hoffe ich habe das verstaendlich erklaert :)
 
S

SlaterB

Gast
ist es nich ein Standard in der Datenbankwelt, dass eine Tabelle aus einer festgelegten Anzahl an Spalten besteht?

wie sollten da verschiedene Zeilen (=Einträge, Tupel, Elemente) unterschiedliche Spalten (Attribute, Eigenschaften) haben
 

kubi

Mitglied
hallo dp

wie mach ich das mit dem dump (hab gelesen, dass ein dump ein backup ist).

bin noch nicht so erfahren mit datenbanken.

danke!
k.
 
S

SlaterB

Gast
du sollst einfach posten wie die Tabelle (oder die entscheidenen Zeilen) vor und nach dem Update aussehen,
also eine Ausgabe des Inhalts als Text z.B., oder Screenshot,

aus deinen Ausführungen (ein Eintrag hat die Attribute, der anderen andere Attribute) wird man nämlich nicht so recht schlau


aber ich scheine nun zu verstehen:
die Spalten sind alle schon vorhanden, und du möchtest nun eine bestimmte Spalte mit Werten füllen,
INSERT erzeugt dabei immer neue Zeilen, neue Einträge,

wenn du vorhandene Einträge ändern willst musst du UPDATE benutzen
 

kubi

Mitglied
morgen slaterB

ja! UPDATE ist das richtige mittel!

aber ich hab jetzt das problem, dass ich alle zeilen meiner spalte nur mit dem letzten berechneten wert update.

der INSERT befehl hat alle berechneten werte in korrekter form in die spalte geschrieben.

kann mir nicht erklären, wieso es mit insert klappt aber mit update nur der letzte berechnete wert reingeschieben wird.

woran kann das liegen?

vieleicht nochmal die berechneten daten in nem Array oder Vector zwischenspeichern?

danke!

k.
 

kubi

Mitglied
hallo nochmal!

ich hab folgendes versucht, nachdem ich die berechneten Daten in einem array gespeicher habe:

Code:
try{
PreparedStatement pSt;

pSt = con.preparedStatement("UPDATE myTable SET myColumn = ?");
for(int j=0; j<dataArray.length; j++)
{
pSt.setDouble(1, dataArray[j]);
pSt.executeUpdate();
}

aber immer noch nichts. mit UPDATE habe ich weiterhin nur den letzten wert im column.

mit INSERT gehts. aber da hab ich ja das alte problem.

???:L
 

DP

Top Contributor
ist ja auch irgendwie klar.

der updated deine column soweit mit werten, bis dein data-array durchgelaufen ist. das letzte update überschreibt alle bisherigen updates.

edit: bzw. jedes update überschreibt das update des vorgängers. deshalb ist bei dir nur der letzte wert in der db.
 

DP

Top Contributor
ich verstehe nicht das du machen willst. alle werte in die db rein? dann insert - werte aktualisieren? dann update.

beim update noch eine where-klausel um zu definieren, welche row aktualisiert werden soll
 

kubi

Mitglied
hi!

ich möchte mit update die werte aktualisieren.

aber wie mach ich das mit der where klausel? die werte sollen der reihe nach reingeschrieben werden, wie das auch bei nem insert passiert.

hab gelesen, dass man bei mysql keine nummerierung für die rows hat.

wie kann ich das nun hinbekommen, dass er mit dem ersten berechneten wert die erste zeile aktualisiert, mit dem zweiten wert die zweite zeile usw.

danke!
k.
 

DP

Top Contributor
*schläfenmassier*

update = aktualisieren
insert = hinzufügen

insert into tabelle (name, gewicht) values ('hans', 87);

dann später

update tabelle set gewicht = 88 where name = 'hans';

mit einem update kannst keine neuen sätze hinzufügen sondern vorhandene aktualisieren.

mach mal nen screenshot von deiner tabelle und den werten und schreibe was wie aktualisiert werden soll. anders kommen wir nicht weiter.
 

kubi

Mitglied
Ergenbistabelle:

MEANVALUE
0
634.449292755127
808.146280924479
177.132595062256
82.9269027709961
206.768732706706
149.251998901367
43.165599822998
121.704502105713
500.7570215861
304.255653381348
54.25830078125
482.142424265544
281.926998138428
78.0941009521484
31.638599395752
78.439697265625
126.315998077393
1012.32035064697
193.244003295898
113.866996765137
63.1633987426758
0
23.3031005859375
123.946998596191
426.329498291016
231.448001861572
0
54.7023487091064
:
:
:
:

das sind die werte die ich mit dem code im ersten posting berechne und dann mit insert einfuege in der reihenfolge der berechnung einfuege.

wenn ich nun eine neue berechnung durchfuehre, dann schreibt update den letzten berecheneten wert in die tabelle (habe verstanden wieso)

ich will also in der selben reihenfolge, wie die ergebnisse nacheinander berechnet werden, diese tabelle updaten.

...
sorry, ist nicht meine absicht, stress zu verursachen...
 

Caffè Latte

Bekanntes Mitglied
Hi,

nach welchen Kriterien willst du denn die Tabelle updaten? Da gibts ja kein eindeutiges Kriterium, ausser dem Wert selbst. Und auf den ersten Blick gibt es zumindest 0 mehrmals.

Wenn du dieses (miese) Datenbankdesign behalten willst, dann lösch jedes mal die Tabelle und erstell sie neu. Und "Reihenfolgen" in dem Sinne gibts bei Datenbanken auch nicht.

Cust my 2 cents ...
 

DP

Top Contributor
si. aber anstatt drop und create table machst du "delete from tabelle" und dann den instert.

die reihenfolge sollte anhand der arraylist korrekt sein.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Frage zu Bundesliga-DB Datenbankprogrammierung 1
pkm Frage zu Encodingproblem bei einer Datenbankanbindung Datenbankprogrammierung 1
B Frage bei einer SQL Query Datenbankprogrammierung 3
B Frage zu Datenbank Design bei Events (ZenDesk) Datenbankprogrammierung 1
B SQLite Frage zu SQLite Datenbankverbindung Datenbankprogrammierung 7
M Frage zu JSON Datenbankprogrammierung 16
Psypsy Hibernate / JPA OneToOne MappedBy Frage Datenbankprogrammierung 2
P Frage zu Connection.close() Datenbankprogrammierung 4
R MySQL Frage zum Anlegen von Artikeln inkl. Verbindungen Datenbankprogrammierung 0
M Grundlegende Klassen-Design Frage Datenbankprogrammierung 0
P MySQL Frage zur Einbindung in ein Java Projekt Datenbankprogrammierung 2
I Frage zu Datenmodellierung Datenbankprogrammierung 3
J Normalisierung - Allgemeine Frage zur 3. Normalform (Eventuelle Abhängigkeit) Datenbankprogrammierung 4
F Normalisierung Datenbank Frage Datenbankprogrammierung 5
J Frage zu ResultSet Datenbankprogrammierung 3
W Frage zur Datenbankwahl bei Umstieg auf Java Datenbankprogrammierung 7
D Frage zu DISTINCT in SQL Datenbankprogrammierung 5
K Frage zur Datenprotokollierung bei DML Anweisungen Datenbankprogrammierung 3
K Frage zu SQL Datenbankprogrammierung 2
L PostgreSQL Hibernate-Frage Datenbankprogrammierung 2
K Frage zu Datenbankmodellierung Datenbankprogrammierung 15
D Generelle Frage zum Umgang mit Datensätzen Datenbankprogrammierung 5
L Frage zu UpdateQuery Datenbankprogrammierung 12
8 MySQL Kurze Frage zur Sicherheit Datenbankprogrammierung 9
D Frage zu INSERTS über mehrere Datenbanktabellen Datenbankprogrammierung 3
D Frage zu Ausführungsmöglichkeiten von SQL Befehlen Datenbankprogrammierung 13
D Frage zu SQL Syntax Datenbankprogrammierung 17
D Frage zu potenziellen Leerzeichen in einer Datenbank Datenbankprogrammierung 5
X Connection schließen oder speichern? Performance Frage Datenbankprogrammierung 7
J mal wieder eine Frage zu parallelen Transaktionen.. Datenbankprogrammierung 2
V Frage zu Hibernate-Mapping Datenbankprogrammierung 11
N Allg. Frage zur Datenbankverbindung Datenbankprogrammierung 2
E einfache Frage bei DB-Zugriff Datenbankprogrammierung 11
S MySQL Frage zu LeftJoin Abfrage Datenbankprogrammierung 2
O eigentlich simple SQL Frage Datenbankprogrammierung 2
M Frage zu folgender Query in EJB-QL Datenbankprogrammierung 4
H JBoss: Frage zur Datasource in der ...-ds.xml Datenbankprogrammierung 4
F Frage zu Prepared Statement Datenbankprogrammierung 2
R hibernate Frage zu configFile-Pfad und Groß/Kleinschreibung von Postgres-Tabellen Datenbankprogrammierung 8
U Frage zum Erfassen von hinzufügten und entfernten Objekten Datenbankprogrammierung 9
M prinzipielle Frage zu Datenbanken und jars ... Datenbankprogrammierung 2
S Hibernate - spezielle Frage, n zu n Beziehung Datenbankprogrammierung 11
R Frage zu PreparedStatement/ResultSet Datenbankprogrammierung 16
J Frage zu Synchronisation bei parallelem Zugriff, speziell mit JPA Datenbankprogrammierung 2
F EclipseLink persistence.xml Frage Datenbankprogrammierung 11
N Frage zur Sicherheit von Konfigurationsdatei Datenbankprogrammierung 4
H performance frage Datenbankprogrammierung 9
G Frage zum Insert-Statement Datenbankprogrammierung 2
Antoras Design-Frage: Datenzuordnung zu verschiedenen Accounts Datenbankprogrammierung 2
T HSQL: verständnis Frage Datenbankprogrammierung 2
T Java JPA Frage bzgl. DISTINCT Datenbankprogrammierung 2
G Frage zu connection? Datenbankprogrammierung 9
A Frage zu SQL-Abfrage Datenbankprogrammierung 2
G Frage zu SQL "WHERE IN (1, 2, 3. , N)" Datenbankprogrammierung 8
G Allgemeine Frage zu Datenbanklimits Datenbankprogrammierung 27
G allgemeine JDBC-Connection Frage Datenbankprogrammierung 2
G Frage zu Hibernate und M:N Beziehung Datenbankprogrammierung 9
K HQL Frage Datenbankprogrammierung 10
D kurze Frage zu einem Query Datenbankprogrammierung 6
B Hibernate mit MySql - Verständniss Frage Datenbankprogrammierung 8
N Kleine Frage zu Connection Pooling mit DataSource Datenbankprogrammierung 2
T Update-Frage Datenbankprogrammierung 11
E SQL-Frage (Löschen aller Datensätze) Datenbankprogrammierung 9
P Frage zu Performancetest einer Datenbank Datenbankprogrammierung 3
W Frage zum Umgang mit DB-Daten Datenbankprogrammierung 2
E Nochmal eine Datenbankabfrage Frage :-o (JOIN oder so) Datenbankprogrammierung 4
P frage zu "" bei INSERT STATEMENTS Datenbankprogrammierung 2
L frage zu mySQL Datenbankprogrammierung 4
C Mal ne Frage an die Experten Datenbankprogrammierung 4
G Frage zum Datenbankdesign Datenbankprogrammierung 5
J DB Verbindung Design Frage Datenbankprogrammierung 5
M Datenbankanbindung in Java : Newbie-Frage Datenbankprogrammierung 2
U Grundsätzliche Frage Datenbankprogrammierung 4
S Frage zu INSERT Datenbankprogrammierung 2
X Wieder mal ne Frage ... Datenbankprogrammierung 15
D H2 schema-Datei ausführen Datenbankprogrammierung 22
nonickatall MySQL SQL Abfrage erneut ausführen oder rs aktualisieren Datenbankprogrammierung 14
M MySQL Passwort Clientseitig ändern und über Button ausführen Datenbankprogrammierung 0
K Automatisches Ausführen um Datenbank zu aktualisieren Datenbankprogrammierung 2
S Hibernate-Konfiguration : Unverständliche Ausgabe beim Ausführen Datenbankprogrammierung 0
J SQLite Abfrage ausführen stoppt für Zyklus? Wie es zu lösen? Datenbankprogrammierung 3
S HSQLDB Mehrere PreparedStatements ausführen Datenbankprogrammierung 3
D Oracle Funktion mit mehreren Out Parametern ausführen? Datenbankprogrammierung 3
C komprimiertes Jar ausführen Datenbankprogrammierung 2
A SQL-Befehle lassen sich nicht ausführen Datenbankprogrammierung 6
achillesat Jasperreport in Java Ausführen Datenbankprogrammierung 3
T JAVA JDBC mehrere Anfragen direkt hintereinander ausführen Datenbankprogrammierung 2
M mysql jdbc batch files ausführen. Datenbankprogrammierung 3
B MySQL Befehl ausführen Datenbankprogrammierung 3
B mysql query ausführen Datenbankprogrammierung 4
C SQL Befehle ausführen und deren Ergebnisse verarbeiten Datenbankprogrammierung 3
J VBScript ausführen Datenbankprogrammierung 5
G Ausführen von SQL-Statements Datenbankprogrammierung 7
S SQL-Anweisungen an DB übergeben und ausführen Datenbankprogrammierung 6
Robert Zenz Aufteilen von Up/Downvotes eines Benutzers in drei Gruppen. Datenbankprogrammierung 0
H Oracle Resize eines Images in Java und Rückgabe des Image als BLOB an die Oracle Datebank Datenbankprogrammierung 14
damike84 Hibernate: persistieren eines Graphen Datenbankprogrammierung 2
G Laufzeit eines Algorithmus mittels Big Theta bestimmen Datenbankprogrammierung 5
G ID zuweisung eines TerminKalenders (mehrere Kalender) Datenbankprogrammierung 8
D Hibernate: Zustand eines Objekts erkennen? Datenbankprogrammierung 0

Ähnliche Java Themen

Neue Themen


Oben