Array innerhalb einer Funktion mehrfach iniatilisieren

Joob

Top Contributor
Ich nutze PreparedStatements und habe eine Klasse welche die Daten bearbeitet.
Die Parameter gebe ich einen Array weiter.
Innerhalb einer Methode werden mehrfach SQLs aufgerufen.
Ich möchte das Array mit gleichen Namen mehrfach verwenden kann das Deklarierte und Initalisierte Array aber innerhalb der Methode nicht ganz auflösen und dann neu definieren.

Ich habs mit null setzen probiert usw. er behält aber immer das das Array bereits existiert

Gibt es da einen Weg ?
Hier ein Beispiel, beim zweiten mal meckert java und sagt ist allready defined

Code:
               String[][] parArr = { {"STR",tabName}, {"INT",idDS } };

        array_id = data.getDataArray(str_sql, parArr, 1);
                str_id = array_id[0][0];

        // Datensatz war nicht gesperrt und wird jetzt gesperrt
        if (str_id == null) {

            str_sql = "INSERT"
                + " INTO SYS_LOGS"
                + " (USERID, TABID, TABNAME)"
                + " VALUES (?,?,?)";
               
                String[][] parArr = { {"STR",userID.toString()}, {"INT",idDS }, {"STR",tabName} };

        data.setDataUpdate(str_sql, parArr);
 
Lass beim 2. Mal einfach das "String[][]" weg.
Die Variable ist bereits deklariert. Nun bekommt sie einfach einen neuen Wert.
 
Schönen Dank für deine schnelle Antwort, habe ich aber schon probiert, dann kommt folgende Meldung
Code:
illegal start of expression
not a statement
';' expected
';' expected
illegal start of expression
not a statement
';' expected
not a statement
';' expect...
versteh ich auch nicht, mein Plan war es auch in der Methode am Anfang das Array zu deklarieren und es dann immer wieder neu zu iniatlisieren.
 
Zuletzt bearbeitet von einem Moderator:
Die abkürzende Syntax
Code:
{ {"STR",tabName}, {"INT",idDS } }
funktioniert nur bei der Variablendeklaration:
Java:
// geht:
String[][] parArr = { {"STR",tabName}, {"INT",idDS } };
// geht nicht:
String[][] parArr;
parArr = { {"STR",tabName}, {"INT",idDS } };
Daher musst du es komplett ausschreiben:
Java:
parArr = new String[][] { {"STR",tabName}, {"INT",idDS } };
 

Zurück
Oben