Gå til innhold

Anbefalte innlegg

jeg har fem dbgrids i en pagecontrol.

hver av dem har en datasource og hver datasource har en adoquery knyttet til seg.

 

dette funker fint, men når jeg skal f.eks slette en oppføring så sletter jeg den direkte fra basen med et sql kall (delete from....). men da vil ikke dbgridene oppdatere seg.

 

unntaket er da hvis jeg kaller funksjonen som lager alle Queryene på nytt, men det må da vel finnes en enklere meode? med dbgrid.refresh skjer det ingenting..

Lenke til kommentar
Videoannonse
Annonse

Både og. Du kan legge inn filter, men i virkligheten leses hele tabellen til RAM først og filtreres deretter. SQL er mye bedre på den måten.

 

Desverre har ikke ADOQuery noe UpdateObject slik som TQuery og TZMySqlQuery (Som jeg bruker mye). Dette med refresh av tabeller er et evig program - det største problemet er med bruk av lookup felter etter endringer i tabellene som brukes for lookup.

 

Det sikreste er alltid å gjøre nye SQL kall etter envher endring av databasen, og gjøre brukergrensesnittet slik at alle endringer krever et knappetrykk e.l. fra brukeren. D.v.s. ingen direkte endringer i grids, selv om det er det enkleste for brukeren.

Lenke til kommentar

ja har tatt mine forhåndsregler. men problemet er hvis flere personer skal manipulere i basen samtidig. dersom jeg endrer i dbgridene mine, så vil jeg raskt få dem oppdatert. men dersom en annen person som er logget på programmet utfører diverse operasjoner slik at databasen blir endret, vil ikke jeg få sett dette. har du et grovt forslag på hvordan dette kan løses? (ingen implementasjon, bare hvordan det kan løses) vi snakker altså et flerbruker, sanntidssystem.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...