Page 1 of 2 1 2 LastLast
Results 1 to 15 of 18

Thread: Aanpassingen clientdataset

  1. #1

    Aanpassingen clientdataset

    Hoe is het mogelijk in een clientdataset rijen toe te voegen/deleten/titel namen te veranderen zonder dat alle data verloren gaat.

    Bv.

    with ClientDataSet1.FieldDefs.AddFieldDef do begin

    blabla

    ClientDataSet1.CreateDataSet;

    vanaf dan maakt ie een hele nieuwe aan en staat er nix meer van je data in het dbgrid.
    Het lukt sowiezo niet om de titel namen aan te passen en datatypes te veranderen

  2. #2
    FF op een rijtje zetten. Wat bedoel je precies. Wil je rijen toevoegen/deleten uit een clientdataset dan is het standaard Dataset gedoe zoals Dataset.Insert en Dataset.Delete. Bij een applyupdates doet hij dan de boel bijwerken op de server.

    Als je met de fielddefs gaat klooien dus de structuur wijzigen denk ik niet dat hij de data vasthoudt (dit kan volgens mij niet eens met een open clientdataset), met createdataset doe je dat dus helemaal niet goed denk ik. Of ik begrijp je verkeerd en probeer je een nieuwe clientdataset te maken.

    Laat me ff iets weten.

  3. #3
    Get gaat niet over rijen invoegen of deleten maar kolommen met betreffende titels en datatypes. En deze ook kunnen wijzigen zonder dat de data verloren gaat.

  4. #4
    Je kunt het beste de data tijdelijk naar een andere ClientDataSet kopiėren, daarna je structuur aanpassen en tenslotte je data weer terug kopiėren.
    Marcel

  5. #5
    welke property voor cdataset moet je daar voor toepassen.
    Dus voor gehele dataset kopie naar andere. de eerste aanpassen saven en de 2e terugzetten.

  6. #6
    Om de data naar je reserve dataset te kopiėren gebruik je de data property:
    Code:
    TempData.Data := OrgData.Data;
    Voor het terugzetten lukt dat niet, je dataset is immers veranderd inmiddels. Dat doe je dus door veld voor veld te vullen:
    Code:
    TempData.First;
    
    while not TempData.Eof do
    begin
      OrgData.Append;
      
      for i := 0 to TempData.FieldCount - 1 do
        OrgData.Fields[i].Value := TempData.Fields[i].Value;
    
      OrgData.Post;
      
      TempData.Next;
    end;
    Als je veldnamen hebt gewijzigd of velden hebt tussengevoegd zul je het terugzetten wat intelligenter moeten maken.
    Marcel

  7. #7
    ej thanks werkt perfect.
    Moet voor het deleten/rename ed van rijen op dezelfde manier worden gedaan?
    of is daar een standaard optie voor.

    ps. die methode werkt als er een ftAutoInc instaat niet.
    Last edited by DeBug; 26-Jul-02 at 14:36.

  8. #8
    Voor renamen zul je het terugzetten wat slimmer moeten maken, dan moet je de oude en nieuwe naam weten. Als je kolommen hebt verwijderd kun je eerst met FindField controleren of ze nog in OrgData staan. En nu weet je ook waarom ik nooit AutoInc gebruik, dat werkt hier inderdaad niet.
    Marcel

  9. #9
    Senior Member walterheck's Avatar
    Join Date
    Oct 2001
    Location
    Belo Horizonte, Brasil
    Posts
    4,212
    AutoInc is gemakkelijk, maar vaak niet erg handig. je kunt het beter zelf bijhouden in een apart tabelletje met de hoogst uitgegeven primary key waarden...
    Nee, de Romeinen spraken geen ISO-8859-1 LATIN

  10. #10
    mwah gemakkelijk?
    Ik krijg bij de dataset ftautoinc de order niet eens op Desc. Dit kan ik alleen in de xml file zelf aanpassen.
    OF kan dit ook geprogt worden?

  11. #11
    Nou snap ik je even niet meer. Een AutoInc order op Desc???
    Marcel

  12. #12
    <FIELD attrname="ID" fieldtype="i4" readonly="true" SUBTYPE="Autoinc" order="Desc"/>

  13. #13
    Heb je de rest van dat bestand ook, kan ik even mee puzzelen.
    Marcel

  14. #14
    Probeer maar. dus een dataset en autoinc veld onder xml opslaan.
    De hele desc optie kan niet toegevoegd worden terwijl als je hem zelf in de xml file aanpast werkt het wel zoals hierboven.
    Nadeel is alleen dat hij hem weer overschijft ofzo zodat Desc weer weg is :S

  15. #15
    Hmm, in mijn geval wordt er een apart statement gemaakt:

    <PARAM Name="ORDER" Value="Asc"/>.

    Maar als je flexibeler sorteermogelijkheden wilt kun je beter IndexDefs gebruiken, daar kun je alle mogelijkheden aangeven.
    Marcel

Page 1 of 2 1 2 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. DBGrid en clientdataset
    By Raoul in forum Databases
    Replies: 2
    Last Post: 08-May-04, 14:39
  2. ClientDataSet problemen
    By Raoul in forum Databases
    Replies: 2
    Last Post: 03-Jan-04, 10:52
  3. Export en import in ADO mbv Clientdataset
    By M_Peror in forum Databases
    Replies: 10
    Last Post: 12-Sep-03, 12:23

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •