![]() |
Datenbank: egal • Version: ? • Zugriff über: jvMemoryDataSet
jvMemoryData und CopyStructure
Ich habe vor längerem schon mal zu diesem Thema einen
![]() Ich möchte mit CopyStructure die Struktur eines vorhandenen jvMemoryData in ein anderes kopieren und anschließend noch einige Spalten über Fielddefs.Add hinzufügen. Die zusätzlichen Spalten sind anschließend auch in den Fielddefs enthalten, leider aber nicht in den Fields. Dadurch kann man auch nicht über ValueByName oder FieldByName auf solch ein Feld zugreifen. Hat jemand eine Idee, woran das liegen könnte und wie man es behebt? Danke René |
Re: jvMemoryData und CopyStructure
Ich mache das immer so:
Delphi-Quellcode:
Entsprechend für TNumericField, TInterField, TDateTimeField etc. Mit FieldDefs habe ich es nicht hinbekommen...
Procedure AddStringField(aDS : TDataSet; aFieldName : String; aMaxSize : Integer);
Var f : TField; Begin With TStringumericField.Create (aDS ) Do Begin FieldName := sName; Calculated := False; FieldKind := fkData; DataSet := aDS; Size := aMaxSize; End; aDS.fieldDefs.update; End; |
Re: jvMemoryData und CopyStructure
Danke für den Hinweis. Ehrlich gesagt, finde ich das sehr aufwändig.
Momentan habe ich eine eigene Routine für CopyStructure erstellt, welche mir die Fielddefs kopiert.
Delphi-Quellcode:
Anschließend besteht ohne Weiteres die Möglichkeit, über Fielddefs.Add weitere Felder hinzuzufügen.
Procedure MyCopyStructure(aFromDS, aToDS: TDataSet);
var i: Integer; begin aToDS.Close; aToDS.FieldDefs.Clear; for i := 0 to aFromDS.FieldDefs.Count - 1 do aToDS.FieldDefs.Add(aFromDS.FieldDefs[i].Name, aFromDS.FieldDefs[i].DataType, aFromDS.FieldDefs[i].Size, aFromDS.FieldDefs[i].Required); //... end; Warum geht das mit der Standard-Routine nicht? Was macht CopyStructure anders? Es kann doch eigentlich nur ein Flag sein, welches anschließend verhindert, dass die Struktur weiter angepasst werden kann. Auch wenn das Problem erstmal so umgangen werden kann, würde es mich trotzdem sehr interessieren, eine direkte Lösung zu finden. |
Re: jvMemoryData und CopyStructure
push :cyclops:
|
Re: jvMemoryData und CopyStructure
hmm. Evtl könnte dir folgendes helfen.
aToDS.ApplyMode := amAppand; Gruß tr909 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz