Xojo Conferences
XDCMay2019MiamiUSA

In array speichern (Real Studio network user group Deutschland Mailinglist archive)

Back to the thread list
Previous thread: Aus datenbank arrays f ü llen
Next thread: RB2005


Probleme mit String Bearbeitung   -   Markus Schnell
  In array speichern   -   Enno Bussmann
   Re: In array speichern   -   Andreas Bernhardt
    Re: In array speichern   -   Enno Bussmann

In array speichern
Date: 29.08.05 07:27 (Mon, 29 Aug 2005 08:27:11 +0200)
From: Enno Bussmann
Während ihr mit rb 2005 schon fleissig arbeitet/bastelt/etc. bin ich noch
mit 553 zugange und habe mal wieder ein problem.

Aber erst mal einen schönen guten morgen.

Alsdann: ich habe eine datenbank mit 7 einträgen pro datensatz und will nun
den jeweils 2. und letzten eintrag eines jeden datensatzes in zwei arrays
einlesen. Leider mache ich irgendwo einen fehler in dem nachstehenden code,
denn der debugger meldet eine outOfBounds exception.

z=1
rs=bzmessung.SQLSelect ("select vF,nA from bzwerte order by datum")
While not rs.EOF
mp(z)=rs.idxField(2).StringValue
mp2(z)=rs.IdxField(7).StringValue
rs.moveNext
z=z+1
wend

Kann mir mal einer auf die sprünge helfen?

Besten dank

enno

Re: In array speichern
Date: 29.08.05 08:49 (Mon, 29 Aug 2005 09:49:38 +0200)
From: Andreas Bernhardt

Am 29.08.2005 um 08:27 schrieb Enno Bussmann:

> Alsdann: ich habe eine datenbank mit 7 einträgen pro datensatz und
> will nun
> den jeweils 2. und letzten eintrag eines jeden datensatzes in zwei
> arrays
> einlesen. Leider mache ich irgendwo einen fehler in dem
> nachstehenden code,
> denn der debugger meldet eine outOfBounds exception.
>
> z=1

und deine mp() sind groß genug? du fängst auch bei 1 an, während es
das 0. Element auch schon gibt...

> rs=bzmessung.SQLSelect ("select vF,nA from bzwerte order by datum")

Du wählst an dieser Stelle nur zwei Einträge aus, nämlich vF und nA.
Dann kannst du natürlih nicht auf den 7. dieser zwei zugreifen.
Alle bekommst du z.B. über select * from bzwerte...

> While not rs.EOF
> mp(z)=rs.idxField(2).StringValue
> mp2(z)=rs.IdxField(7).StringValue

würde ich dann ändern in:
mp(z)=rs.field("vF").stringvalue
mp2(z)=rs.field("nA").stringvalue

Alternativ kannst du die Select-Abfrage so lassen und dann rs.idxfield
(1) und rs.idxfield(2) benutzen. Allerdings kann ich aus eigener
Erfahrung sagen, dass das später nicht mehr nachvollziehbar ist, wenn
du nicht jede Zeile auskommentierst.

Schöne Grüße,

Andreas Bernhardt

Re: In array speichern
Date: 29.08.05 12:42 (Mon, 29 Aug 2005 13:42:03 +0200)
From: Enno Bussmann
Danke an Andreas und Andy,

so geht es:

z rsĀ°messung.SQLSelect ("select vF, nA from bzwerte order by datum")
redim mp(rs.RecordCount)
redim mp2(rs.RecordCount)
While not rs.EOF
mp(z)=rs.idxField(1).StringValue
mp2(z)=rs.IdxField(2).StringValue
rs.moveNext
z=z+1
wend

Schade, dass rb 5.5 kein _MEAN_ kennt, da muss ich mir jetzt was basteln.

gruss

enno