..Ernüchterung
1) @SX2008: JvMemoryTable... Sollte doch eigenltich nicht so schwer sein. Ich gebe als Dataset meine Datenquery an und nutze "Borrow Structure", um die Struktur zu importieren - damit hab ich alle Felder in der memTable. Interessanterweise sind manche auf readonly = true gesetzt, manche nicht, ebenso manche mit required= true bzw. false.
Wenn ich aber die Daten holen will (egal ob in der
IDE oder per LoadFromDataSet(meineSQLQuery, meineSQLQuery.RecordCount, lmCopy, true)), passiert... immer wieder ein Fehler "Feld_xxx darf nicht leer sein!". In meineSQLQuery steht was drin, daran liegts nicht. Seltsam.
Wie bekommst du die Daten in die memTable?
2) @ Bummi: Ich muss gestehen: meine aktive Delphi-Zeit ist lange her. Bin mir deswegen nicht ganz sicher ob ich deine Zeilen richtig eingebaut hab.
In meinem main-form steht jetzt also ganz oben gleich nach der uses-Klauses die Type-Def. für TMyFieldDef. In die Public-Deklaration von Tf_main hab ich dann die Signatur der GetClientDSForDS Methode rein, den Quelltext dann natürlich in die Implementation.
Das wird compiliert, nur... wie wende ich es an?
Ich muss mir ja erst dieses Definitionen-Array basteln. Hast du da evtl. noch nen Code-Schnipsel?
Ich brauch ja einfach nur drei Felder: schuelerid (ftInteger), kursid (ftInteger), schuelername (ftString). Die Daten hierfür liegen in meineSQLQuery. Die Methode liefert mir theoretisch die Daten aus meineSQLQuery in einem clientDataSet zurück. Aber leider krachts auch hier - genau der gleiche Fehler wie oben!?!?!
Sobald ich die MemoryTable auf active=true setze bzw. GetClientDSForDS aufrufe, stolpert er und sagt "Feldxxx darf nicht leer sein" - das ist das erste Feld von meineSQLQuery.
Irgendwelche Ideen...?
Mannmannmann warum muss das alles so schwer sein...