ich vermute mal, dass mein Problem ein Anfänger Fehler ist. Da ich erst vor kurzem mit JavaFx angefangen habe bitte ich um Nachsicht.
Mein Problem ist folgendes ich habe ein Desktopprogramm mit JavaFX programmiert welches aus einer Datenbank liest und neue Daten reinschreibt. Dies funktioniert per "Debug Main Project" bzw. "Run Main Project"einwandfrei. Wenn ich es kompiliert habe funktionieren die Abfragen nicht mehr. Sobald ich im Programm an die Stelle mit einem "insert into..." komme passiert nichts mehr.
Der passende Treiber ist im Packet enthalten. Das Programm startet sowohl unter OS X und Win 7 nur eben keine Abfragen zu Datenbank hin.
Hier mal ein Ausschnitt:
Code: Alles auswählen
function tBarcodeActionAtsEinlagern(): Void {
var sql_TuNo: String;
var sql_TuNoIns: String;
var sql_IuNo: String;
var sql_IuNoIns: String;
sql_TuNo = "select COOLTUID, TUNO from manzdba.xxx_COOLTU where TUNO = \'{tBarcode.text}\'";
sql_TuNoIns = "insert into manzdba.xxx_COOLTU (CoolTuID,TuNo, KnzEingelagert) values (manzdba.Seq_CoolTu.nextVal,\'{tBarcode.text}\', 'y')";
sql_IuNo = "select COOLIUID, IUNO from manzdba.xxx_COOLIU where iuno = \'{tBarcode.text}\'";
sql_IuNoIns = "insert into manzdba.xxx_COOLIU (CoolIuID,IuNo, KnzEingelagert) values (manzdba.Seq_CoolIu.nextVal,\'{tBarcode.text}\', 'y')";
//Überprüfung ob Eingabe der Barcodelänge entspricht
println("{tBarcode.text.length()}");
if (("{tBarcode.text.length()}" == "{intBcLaenge}") and (tBarcode.text.toString().matches("\\d+"))) {
//Vergleich des Barcodes mit dem Nummernkreis der Behälter
if ("{intTuNoKreis}" == "{tBarcode.text.charAt(0)}") {
println("Kühlbehälter");
println(sql_TuNo);
ora_wm.query = "{sql_TuNo}";
ora_wm.fetchData();
if (ora_wm.getRecordSet().currentField("TUNO").toString().equals("{tBarcode.text}")) {
intCoolTuID = Integer.parseInt(ora_wm.getRecordSet().currentField("COOLTUID").toString());
ora_wm.getRecordSet().close();
ora_wm.update("MANZDBA.xxx_COOLAUFTRAG", [javafx.data.Pair { name: "STATUS" value: "'99'" }, javafx.data.Pair { name: "MODDAT" value: "SYSDATE" }], "COOLTUID = \'{intCoolTuID}\' and STATUS = '70' and GENDAT < SYSDATE");
}
//Überprüfung ob Barcode schon vorhanden
ora_wm.query = "{sql_TuNo}";
//Daten sofort abrufen
ora_wm.fetchData();
println(ora_wm.getRecordSet().currentField("TUNO"));
println("{ora_wm.getRecordSet().currentField("TUNO")}" != "{tBarcode.text}");
//Falls Nein "Insert into..."
if ("{ora_wm.getRecordSet().currentField("TUNO").toString()}" != "{tBarcode.text}") {
ora_wm.getRecordSet().close();
ora_wm.execute(sql_TuNoIns);
println("Insert into....");
} //Falls Ja "Update where..."
else {
println("Update....");
ora_wm.update('MANZDBA.xxx_COOLTU', [javafx.data.Pair { name: "KNZEINGELAGERT" value: "'y'" }], 'TUNO = {tBarcode.text}');
}
tBarcode.clear();
}
......
}
Mit freundlichen Grüßen
AndyK