Toon posts:

[Delphi] EOleexception bij aanpassen datasets(ADO)

Pagina: 1
Acties:
  • 225 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb een klein programmatje
dat gelinked is aan een ms access mdb file via ADO.
Ik heb 2 Adoquery's elk met een eigen dataset en dbgrid.
Nu deze query's halen hun data uit dezelfde tabellen en share dus soms dezelfde data.

Nu het probleem is wanneer ik data manueel via adoqeury.Edit,aanpassing,adoquery.post aanpas in de eerste querry dat deze data in de andere querry ook zou moeten aangepast worden. Nu je kan dit heel simple via een requery maar dit is veel te traag daar er heel veel records zijn !

Wat ik dus probreerde is in die tweede query ook de data aan te passen via adoqeury.Edit,aanpassing,adoquery.post
maar daar krijg ik dan een EOleException error met volgende boodschap : "Kan de bij te werken rij niet vinden, sommige waarden zijn mogelijk veranderd sinds de rij het laatst is ingeleze" Dit klopt want die waarden zijn veranderd.

Nu hoe los ik dit op ? hoe kan ik zonder ALLE data her op te halen (requery = slow) toch die data aanpassen / updaten ?

Het moet snel gebeuren (dus geen requery)
als ik de huidge record wil refreshen krijg ik een EOleException error met een bepaalde boodschap dat er te weinig sleutel gegevens zijn.

Kan iemand me hiermee helpen ????

bedankt

Verwijderd

Je kan voor je RecordSet een andere cursor type gebruiken, namelijk adOpenDynamic (2) of adOpenKeyset (1). Met deze twee cursortypes zie je updates wel.

Zie http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdcstcursortypeenum.asp en http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdprocursortype.asp voor meer info.

Enjoy :)

Verwijderd

Topicstarter
bedankt!
Hij update niet automatisch maar refresh kan ik nu oproepen zonder errors (nog traag maar sneller als requery) en ook het bewerken van een dataset met zelfde gegevens zonder ik die EOleException krijg!! dit moest ik hebben ! nog is merci :)

misschien nog even ter info voor die da ooit met zelfde probleem zitten dynamic gaat niet daar een DBGrid bookmarks bij cursors vereist en dit bij dynamic niet gaat (althans ik kreeg die foutmelding) keyset werkte wel