Sql Datenbank - variable übergeben?

Tbe

Mitglied
hi zusammen,
lese schon länger mit und bin grad dabei mein eigenes java projekt zu starten.

zur ausgangslage:
ich lese per bufferedreader eine csv(txt egal) ein und speicher diese per splitt(,) in ein array.
aus dem array lese ich die werte wieder aus und übergebe sie an verschiedene variablen.

Java:
		String datum, name, symbol, ask = null, bit, vortagW, vortagP, hochTief; 
		String datei = null;
		String csvSplitBy = ",";
		String linkTeilA ="http://download.finance.yahoo.com/d/quotes.csv?s=";
		String linkTeilV = "ADS.DE+ALV.DE"; // TODO !!! AktienSymbole
		String linkTeilE = "&f=d1nsabpcm&e=.csv"; // AktienWerte - d1-n-s-a-b-p-c-m!
		//END_PART_VARIABLEN		
		String url = "jdbc:mysql://localhost:3306/csvtest";
		String user = "root";
		String pass = "";

		
		try{
			String getAktuellDepot = linkTeilA + linkTeilV + linkTeilE;
			URL link = new URL(getAktuellDepot);
			URLConnection verbinden = link.openConnection();
			InputStreamReader lineReader = new       InputStreamReader(verbinden.getInputStream());
			BufferedReader csvDateiEinlesen = new BufferedReader(lineReader);
			while ((datei = csvDateiEinlesen.readLine()) != null) {
				String[] test = datei.split(csvSplitBy); //ARRAY-8
				datum = test[0]; 		// d1
				name = test[1]; // n
				symbol = test[2]; // s
				ask = test[3]; // a
				bit = test[4]; // b
				vortagW = test[5]; // p
				vortagP = test[6]; // c
				hochTief = test[7]; // m

das funktionniert soweit ganz gut!
jetzt bau ich eine verbindung zur datenbank (mysql) auf und will die werte speichern!

Java:
				Connection dbConn = DriverManager.getConnection(url, user, pass);
				Statement befehl = dbConn.createStatement();
				befehl.execute("INSERT INTO depotaktuell (symbol,name,datum,ask,bit,vortagW,vortagP,hochTief) VALUES(1,2,3,'ask',bit,vortagW,vortagP,hochTief)");
				dbConn.close();
				csvDateiEinlesen.close();

wenn ich in die datenbank schau steht immer "null" als wert drin.

DIE FRAGE: wie kann ich die variablen wert dem sql übergeben?



noch mal der ganze quellcode (will nur auf funktion testen später wird es dann in eigenen klassen unterteilt).

Java:
		//PART_VARIABLEN
		String datum, name, symbol, ask = null, bit, vortagW, vortagP, hochTief; 
		String datei = null;
		String csvSplitBy = ",";
		String linkTeilA ="http://download.finance.yahoo.com/d/quotes.csv?s=";
		String linkTeilV = "ADS.DE+ALV.DE"; // TODO !!! AktienSymbole
		String linkTeilE = "&f=d1nsabpcm&e=.csv"; // AktienWerte - d1-n-s-a-b-p-c-m!
		//END_PART_VARIABLEN		
		String url = "jdbc:mysql://localhost:3306/csvtest";
		String user = "root";
		String pass = "";

		
		try{
			String getAktuellDepot = linkTeilA + linkTeilV + linkTeilE;
			URL link = new URL(getAktuellDepot);
			URLConnection verbinden = link.openConnection();
			InputStreamReader lineReader = new InputStreamReader(verbinden.getInputStream());
			BufferedReader csvDateiEinlesen = new BufferedReader(lineReader);
			//String datum, name, symbol, ask = null, bit, vortagW, vortagP, hochTief; 

			while ((datei = csvDateiEinlesen.readLine()) != null) {
				String[] test = datei.split(csvSplitBy); //ARRAY-8
				datum = test[0]; 		// d1
				name = test[1]; // n
				symbol = test[2]; // s
				ask = test[3]; // a
				bit = test[4]; // b
				vortagW = test[5]; // p
				vortagP = test[6]; // c
				hochTief = test[7]; // m
//				System.out.println(ask); // EinArrayWertAuslesen
//				System.out.println(test[0]+test[1]+test[2]+test[3]+test[4]+test[5]+test[6]+test[7]);
				
				Connection dbConn = DriverManager.getConnection(url, user, pass);
				Statement befehl = dbConn.createStatement();
				befehl.execute("INSERT INTO depotaktuell (symbol,name,datum,ask,bit,vortagW,vortagP,hochTief) VALUES(1,2,3,'ask',bit,vortagW,vortagP,hochTief)");
				dbConn.close();
				csvDateiEinlesen.close();
			}}catch (IOException e){
				//System.out.println(ask);
			}
				
				System.out.println("ende");
			
		
	}

danke fürs lesen und evtl antworten :)
mfg
tbe
 
Zuletzt bearbeitet:

Basti90

Mitglied
Hallo Tbe,
ich hoffe ich hab dein problem verstanden und kann dir helfen.

probiert mal statt
Java:
 Statement befehl = dbConn.createStatement();
                befehl.execute("INSERT INTO depotaktuell (symbol,name,datum,ask,bit,vortagW,vortagP,hochTief) VALUES(1,2,3,'ask',bit,vortagW,vortagP,hochTief)");

Java:
PreparedStatement befehl = dbConn.preparedStatement("INSERT INTO depotaktuell (symbol,name,datum,ask,bit,vortagW,vortagP,hochTief) VALUES(1,2,3,'ask',bit,vortagW,vortagP,hochTief)")
befehl.executeUpdate();
dbConn.commit();

Bei mir führt er dann die inserts einwandfrei aus
hoffe bei dir auch
 

Tbe

Mitglied
danke für die schnelle antwort! :)

code wurde dahingebend geändert
Java:
				Connection dbConn = DriverManager.getConnection(url, user, pass);
//				Statement befehl = dbConn.createStatement();
//				befehl.execute("INSERT INTO depotaktuell (symbol,name,datum,ask,bit,vortagW,vortagP,hochTief) VALUES "
//						+ "(1,2,3,'ask',bit,vortagW,vortagP,hochTief)");
				
			    PreparedStatement befehl = dbConn.prepareStatement("INSERT INTO depotaktuell (symbol,name,datum,ask,bit,vortagW,vortagP,hochTief) "
			    		+ "VALUES(1,2,3,'ask',bit,vortagW,vortagP,hochTief)");
			    	    befehl.executeUpdate();
//			    	    dbConn.commit(); <<----- ohne funktioniert der durchlauf
			    	    dbConn.close();
				csvDateiEinlesen.close();
			}}catch (IOException e){
				//System.out.println(ask);
			}
				
				System.out.println("ende");

der durchlauf funktioniert und er schreibt halt leider das in die datenbank...

...wie kann ich die variablen vom bufferedreader dem sql befehl übergeben???
 
Zuletzt bearbeitet:

Basti90

Mitglied
PreparedStatement befehl = dbConn.prepareStatement("INSERT INTO depotaktuell (symbol,name,datum,ask,bit,vortagW,vortagP,hochTief) "
+ "VALUES(1,2,3,'ask',bit,vortagW,vortagP,hochTief)");

du musst die anderen Strings wie 'ask' auch in hochkomma stellen dann gehts

wie du die variablen da rein bekommst ist eigentlich ganz leicht

Java:
 PreparedStatement befehl = dbConn.prepareStatement("INSERT INTO depotaktuell (symbol,name,datum,ask,bit,vortagW,vortagP,hochTief) "
                        + "VALUES("+symbol+", "+name+","datum", ' "+ask+" ',' "+bit+" ',' "+vortagW+" ',' "+vortagP+" ', ' "+hochTief+"')");
 

Tbe

Mitglied
nochmal danke aber ich checks immer noch nicht was falsch ist!
Java:
package in.kgd.db.test1;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;

public class TestDb1 {

	public static void main(String[] args) throws SQLException {
		String t1 = "hallo";
		String t2 = "du abc 3";
		String url = "jdbc:mysql://localhost:3306/t";
		String user = "root";
		String pass = "";
		
		Connection dbConn = DriverManager.getConnection(url, user, pass);
		PreparedStatement befehl = dbConn.prepareStatement("INSERT INTO depotaktuell (w1,w2) "+ "VALUES('"+ t1 +"' , '"+ t2 +"');
		
		dbConn.commit();
		dbConn.close();
		System.out.println("Erfolg!");

	}

}
 

Deros

Bekanntes Mitglied
arghhh bringt doch niemandem so eine s*****e bei. ;(

mach was richtung:
Java:
public static void main(String[] args) throws Exception {
    Connection conn = null;
    PreparedStatement pstmt = null;
    try {
      conn = getConnection();
      String query = "insert into dept(symbol,name,datum) values(?, ?, ?)";

      pstmt = conn.prepareStatement(query); // create a statement
      pstmt.setInt(1, 1); // set input parameter 1
      pstmt.setString(2, "irgendein Name"); // set input parameter 2
      pstmt.setString(3, "balbalabla"); // set input parameter 3
      pstmt.executeUpdate(); // execute insert statement
    } catch (Exception e) {
      e.printStackTrace();
    } finally {
      pstmt.close();
      conn.close();
    }
  }


niemals aber wirklich niemals baut man seinen SQL_STRING mit ""+variable+"" zusammen. Das schreit sonst schon nach SQL-Injection
 
Zuletzt bearbeitet:

Tbe

Mitglied
danke Basti90!
war tatsächlich ein zeichenfehler durch die auto vervollständigung von eclipse! ;(
läuft jetz!

@Deros ja das ist ein sehr gutes argument und ich werde es demächst umbauen...! :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J fortlaufende Objekte durch Variable auswählen; Datenbank Java Basics - Anfänger-Themen 4
I Erste Schritte Einfache Datenbank-Webseite erstellen als Nicht-IT-lerin Java Basics - Anfänger-Themen 24
M Daten aus errechneter Methode in Datenbank(SQLite) schreiben Java Basics - Anfänger-Themen 60
S Best Practice Fragen zu Projektstruktur einer Datenbank-Abfrage-App (MVC) Java Basics - Anfänger-Themen 13
I Element n aus Datenbank Query (JPA / Hibernate) Java Basics - Anfänger-Themen 3
I Passwort in Datenbank speichern um später wieder auszulesen Java Basics - Anfänger-Themen 5
S OOP Java Eingabe in verschiedene Datenbank Tabellen eintragen Java Basics - Anfänger-Themen 7
I H2 Datenbank starten / Daten in File speichern Java Basics - Anfänger-Themen 25
E schneller von der Datenbank abfragen Java Basics - Anfänger-Themen 15
E Datenbank Spalte zusammenzählen Java Basics - Anfänger-Themen 2
R Datenbank Java Basics - Anfänger-Themen 1
I API Key´s in der Datenbank decrypt / encrypten? Java Basics - Anfänger-Themen 23
I Werte (u.a. Geldbeträge) in Datenbank speichern und Rundungen? Java Basics - Anfänger-Themen 8
M Mehrere Datenbank zugriffe über tomee.xml regeln? Java Basics - Anfänger-Themen 1
M Datenbank oder Textdatei? Java Basics - Anfänger-Themen 4
S Datenbank Befehl nach Login Java Basics - Anfänger-Themen 5
S Datenbank Tabelle eine Zeile an einer bestimmten Stelle einfügen Java Basics - Anfänger-Themen 2
M Von der Datenbank zum Textfield Java Basics - Anfänger-Themen 16
R Best Practice Logik in der Datenbank oder in Java? Java Basics - Anfänger-Themen 3
R Datenbank-Werte dynamisch ausgeben Java Basics - Anfänger-Themen 19
B Frage zu Datenbank Design - Rechnungen, Angebote... und deren Positionen Java Basics - Anfänger-Themen 4
B Datenbank: Entity mit vielen Referenzen? Ansatz so ok? Java Basics - Anfänger-Themen 8
T Datenbank | Welche am Sinnvollsten? Java Basics - Anfänger-Themen 5
S Daten speichern, ohne Datenbank Java Basics - Anfänger-Themen 8
L Daten aus ArrayList in Datenbank durchsuchen Java Basics - Anfänger-Themen 5
M Datenbank in jTable Laden Java Basics - Anfänger-Themen 49
M Datenbank verbindung Java Basics - Anfänger-Themen 19
J Java Verbindung mit mysql Datenbank Java Basics - Anfänger-Themen 3
B Datenbank, aktuelle Ende als Zahl an Label übergeben Java Basics - Anfänger-Themen 7
T Collections Geeignete Collection/Liste/Datenbank Java Basics - Anfänger-Themen 17
B Treetable (rekursive Funktion) aufbauen von Datenbank Java Basics - Anfänger-Themen 4
R Input/Output Verbindung mit mySql-Datenbank Java Basics - Anfänger-Themen 9
D Compiler-Fehler Wert auf Datenbank übertragen und Sleep Thread Java Basics - Anfänger-Themen 3
N (Java) Regristrierung und Login System mit einer Datenbank Java Basics - Anfänger-Themen 5
J Datenbank Zugriff Java Basics - Anfänger-Themen 24
J Mit JSF Formular in Datenbank schreiben Java Basics - Anfänger-Themen 3
DaCrazyJavaExpert Verschiede Aktionen der Datenbank getrennt durchführen Java Basics - Anfänger-Themen 4
DaCrazyJavaExpert Datenbank wird nicht erstellt Java Basics - Anfänger-Themen 31
E Daten gehen nicht in Datenbank Java Basics - Anfänger-Themen 14
C JTable update mit MySQL Datenbank Java Basics - Anfänger-Themen 1
Meeresgott OOP Gui, Logik und Datenbank richtig aufbauen Java Basics - Anfänger-Themen 43
B Schreiben von zu vielen Einträgen in einer Datenbank Java Basics - Anfänger-Themen 9
S Datenbank auf Knopfdruck abfragen Java Basics - Anfänger-Themen 8
M Java als Webanwendung mit Datenbank abfrage Java Basics - Anfänger-Themen 3
N Datenbank mit GUI verbinden - Wie? Java Basics - Anfänger-Themen 5
1 Datenbank in Java Java Basics - Anfänger-Themen 1
M Erste Schritte Java Applet - HTML Seiten auslesen und in Access Datenbank schreiben? Java Basics - Anfänger-Themen 15
J Bücher Datenbank Java Basics - Anfänger-Themen 5
S Best Practice MVC und große Datenmengen aus einer mySQL - Datenbank Java Basics - Anfänger-Themen 24
J Datum und Uhrzeit in Datenbank falsch hinterlegt Java Basics - Anfänger-Themen 13
R Erstversuch Datenbank Java Basics - Anfänger-Themen 6
I Daten speichern ohne Datenbank Java Basics - Anfänger-Themen 20
A Erste Schritte Verbindung zu MySQL Datenbank herstellen Java Basics - Anfänger-Themen 7
C Passwörter möglichst sicher in Datenbank speichern Java Basics - Anfänger-Themen 18
W Erste Schritte Exceltabelle in Datenbank übertragen mittels XDEV Java Basics - Anfänger-Themen 7
J GUI mit phpMyAdmin Datenbank verbinden Java Basics - Anfänger-Themen 0
K Erste Schritte Datenbank SQL erklärung Java Basics - Anfänger-Themen 15
B Lokale Datenbank Java Java Basics - Anfänger-Themen 2
B Klassen Doppelte werte Filtern XML, Datenbank und DOM Java Basics - Anfänger-Themen 3
Todesbote Int Array mit Hibernate in Datenbank speichern. Java Basics - Anfänger-Themen 2
U Datenbank in Java Java Basics - Anfänger-Themen 8
M Keine Datenbank verbindung Java Basics - Anfänger-Themen 14
N mit Werten aus einer mysql datenbank in java rechnen Java Basics - Anfänger-Themen 17
Q Datenbank nicht über separaten Server Java Basics - Anfänger-Themen 4
B Dateiname in Datenbank schreiben Java Basics - Anfänger-Themen 2
S ArrayList in mysql Datenbank speichern Java Basics - Anfänger-Themen 6
C Datenbank - Welche Java Basics - Anfänger-Themen 5
B Java Objektorientierte Datenbank - Assoziation Hilfe Java Basics - Anfänger-Themen 4
G Input/Output Serialisierung oder Datenbank Java Basics - Anfänger-Themen 6
J Erste Schritte Objekte in Datenbank speichern Java Basics - Anfänger-Themen 26
A Android Datenbank gaaanz einfaches Insert geht nicht - warum? Java Basics - Anfänger-Themen 4
L Erste Schritte Datenbank Zugangsdaten sicher? Java Basics - Anfänger-Themen 15
S Input/Output Primzahlen Datenbank Java Basics - Anfänger-Themen 11
B Mit Java-Programm Daten aus MySQL-Datenbank auslesen, lokal und nicht lokal. Java Basics - Anfänger-Themen 10
K Input/Output Datenbank Java Basics - Anfänger-Themen 27
M Datenbank in die Gui Java Basics - Anfänger-Themen 4
J JTable mit Daten aus Datenbank füllen Java Basics - Anfänger-Themen 3
F Erfassung von PCs in eine SQLite-Datenbank über JDBC Java Basics - Anfänger-Themen 9
T Datenbank Abfrage Exception Null Java Basics - Anfänger-Themen 2
M Brauche ich ein Datenbank oder nicht? Java Basics - Anfänger-Themen 6
D JDBC Datenbank fail?! Java Basics - Anfänger-Themen 20
A Problem beim einfügen in eine Datenbank Java Basics - Anfänger-Themen 2
F Classpath Datenbank ... nur wo? Java Basics - Anfänger-Themen 24
H Datenbank suche in kleine Schritte Java Basics - Anfänger-Themen 6
B Personalnummer aus Datenbank Java Basics - Anfänger-Themen 3
M Welche Datenbank? Java Basics - Anfänger-Themen 5
J RadioButtonInhalt in Datenbank übergeben Java Basics - Anfänger-Themen 3
R Datenbank bei Klassenverteilung führt zu NullPointerException Java Basics - Anfänger-Themen 7
J PW von Datenbank wie abspeichern? Java Basics - Anfänger-Themen 2
F Verbindung zu MySql Datenbank Java Basics - Anfänger-Themen 4
MU5T4NG JPasswordField als Hash in Datenbank abspeichern Java Basics - Anfänger-Themen 3
J Kleine Datenbank programmieren Java Basics - Anfänger-Themen 2
J Eigene kleine Datenbank programmieren Java Basics - Anfänger-Themen 2
F Collections Datenbankdaten in einer Map speichern, bearbeiten, sortieren und wieder in Datenbank schreiben Java Basics - Anfänger-Themen 20
T Zugangsdaten für Datenbank in Java-Programm speichern? Java Basics - Anfänger-Themen 5
S Schnittstelle für Datenbank bzw. Dateiformat Java Basics - Anfänger-Themen 2
C ComboBoxModel mit Daten der Datenbank verändern Java Basics - Anfänger-Themen 2
T Datenbank automatisch erzeugen beim ersten Start Java Basics - Anfänger-Themen 6
I Datenbank - nach erster Verbindung keine Verbindung mehr Java Basics - Anfänger-Themen 3
F Datenbank in eine Textdatei speichern Java Basics - Anfänger-Themen 13

Ähnliche Java Themen

Neue Themen


Oben