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.
das funktionniert soweit ganz gut!
jetzt bau ich eine verbindung zur datenbank (mysql) auf und will die werte speichern!
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).
danke fürs lesen und evtl antworten
mfg
tbe
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: