lesezeichen Geschrieben 16. Juni 2004 Geschrieben 16. Juni 2004 Halli Hallo, moechte direkt mit einer fuer mich wichtigen Frage starten: folgendes Problem: ich moechte einen Wert (temp_id -> nur als Bsp) in einen Recordstore schreiben. Leider wird durch den u. g. Code dieser Wert immer ueberschrieben. Die Ausgabe ist also immer "49". Alle einzelnen Werte sollen aber ausgegeben werden. Wie kann ich das Problem loesen? schnipp---------------------------------- public void save() { int temp_x, temp_y, temp_id = 0; Lesson temp_lesson; String temp_code = ""; openRMS(); // oeffnet den recordstore for(temp_x = 0; temp_x < 5; temp_x++) { // hat einen sinn for(temp_y = 0; temp_y < 10; temp_y++) { // "" temp_code = String.valueOf(temp_id); // 0 - 49 byte[] rec = temp_code.getBytes(); // try { id = rs.addRecord(rec, 0, rec.length); // REcord hinzufuegen } catch (Exception e){} temp_id++; } } closeRMS(); // schliesst recorstore } Gelesen wird das ganze hiermit: schnipp----------------------------------------------------- public void load() { int temp_x, temp_y, temp_id; String temp_code = ""; temp_id = 0; openRMS(); for(temp_x = 0; temp_x < 5; temp_x++) { for(temp_y = 0; temp_y < 10; temp_y++) { // ... try { byte holen[] = new byte[100]; int gelesen = rs.getRecord( id[temp_id], holen, 0 ); temp_code = new String( holen, 0, gelesen); }catch (Exception e) { e.toString(); } temp_lesson.set_code(temp_code); } catch(LessonUndefinedException e) {} temp_id++; } } closeRMS(); } -------------------------------------------------------- Was mache ich falsch? Vielen Dank!! lesezeichen
etreu Geschrieben 16. Juni 2004 Geschrieben 16. Juni 2004 1. bei save ist temp_id immer 0, oder habe ich eine zuweisung übersehen? 2. bei load ist id (zumindest in dem ausschnitt) nicht definiert. allgemein: nimm das nächste mal bitte CODE oder PHP, dann wird der quelltext min ordenlich formatiert. Danke.
lesezeichen Geschrieben 16. Juni 2004 Autor Geschrieben 16. Juni 2004 OK, es geht sich erstmal um das speichern. temp_id ist nicht immer 0, sie wird nach jedem schleifendurchlauf inkrementiert. nochmal der Code: public void save() { int temp_x, temp_y, temp_id = 0; Lesson temp_lesson; String temp_code = ""; openRMS(); // oeffnet den recordstore for(temp_x = 0; temp_x < 5; temp_x++) { // hat einen sinn for(temp_y = 0; temp_y < 10; temp_y++) { // "" temp_code = String.valueOf(temp_id); // 0 - 49 byte[] rec = temp_code.getBytes(); // try { id = rs.addRecord(rec, 0, rec.length); // REcord hinzufuegen } catch (Exception e){} temp_id++; } } closeRMS(); // schliesst recorstore } [/PHP] Workaround: Es muss eine Moeglichkeit geben das Byte-Array (steht ja fuer den String) wiederrum in ein Array zu packen, dass die einzelnen Byte-Array-Inhalte via direktem Zugriff verfuegbar macht. es soll also so sein: zugriff: [1] inhalt: 1 zugriff: [2] inhalt: 2 etc... aber wie macht man das?
etreu Geschrieben 16. Juni 2004 Geschrieben 16. Juni 2004 Wie wäre es mit einem Vector? Als Position gibst du den Wert temp_id an, als Wert speicherst du dein Array.
lesezeichen Geschrieben 16. Juni 2004 Autor Geschrieben 16. Juni 2004 wie wuerde sowas aussehen? bsp plz! thx
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden