Veröffentlicht 16. Juni 200421 j 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
16. Juni 200421 j 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.
16. Juni 200421 j 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?
16. Juni 200421 j Wie wäre es mit einem Vector? Als Position gibst du den Wert temp_id an, als Wert speicherst du dein Array.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.