Gå til innhold

Anbefalte innlegg

Folkens

Jeg har laget en listeboks som viser poster i en tabell (så klart). Tabellen har kolonnesortering og når brukeren trykker på headeren så resorteres den, men posisjonen nendrer seg. Det jeg vil ha til er at posten som var mærket i listen skal fortsatt være valgt etter resorteringen. Er dette mulig i et SELECT statement?

Lenke til kommentar
Videoannonse
Annonse

Svaret kommer til å avhenge av hvilket programmeringsspråk du benytter, ikke hvilken database du benytter. Hvilket programmeringsspråk du benytter er samme hva noe du har glemt å nevne*.

 

For å sortere et dataset i SQL kan du legge til dette på slutten av SELECT-en: ORDER BY feltnavn

 

*Hvis programmeringsspråket er f.eks Java, burde du poste spørsmålet i Java-forumet, PHP så burde du poste spørsmålet i PHP forumet osv.

 

Databaseforumet er riktignok i kategorien programmering/databaser, men det er nok tenkt som programmering av databasefunksjoner o.l.

Lenke til kommentar

Dette har ingenting med programmeringspråg å gjøre. Jeg nevnte listbokser etc. fordi jeg ville visualisere hva jeg var ute etter. Jeg er bare ute etter en mulighet til å posisjonere meg i rett post gjennom et SELECT statement. Det kan jo selvsagt være mulig at dette ikke går an med ren SELECT

Lenke til kommentar

Det du beskriver i første posten er ren GUI-funksjonalitet og har ingenting med databaser å gjøre. Det er ikke opp til databasen å fortelle GUI hvordan ting skal se ut, f.eks. om en item i en grid skal være valgt eller ikke, hvilket sidenummer sist valgte rad lå på etc.

Lenke til kommentar

Får en skikkelig rar følelse her nå. Betyr det at et datasett er lastet i sin helhet over til klienten?

 

Jeg bruker Clarion og der kan jeg sette om jeg vil ha Pageloading eller Fileloading. Forskjellen er at Fileloading henter hele datasettet, mens pageloading henter kunn de postene det er plass til i listeboksen. Det vil si at det å starte opp f.eks et kundekartotek på 20000 poster er gjort på et øyeblikk, fordi det kunn er de 20 første som hentes.

Lenke til kommentar

Det er selvfølgelig mulig i .NET også, men jeg tror nok du selv må programmere håndtering av å hente inn neste sett med rader. Bruk f.eks. ROW_NUMBER() OVER(...) for å kunne hente fra rad x til rad y, f.eks. 100 til 120.

 

Har du sjekket hvilke databasekall Clarion gjør mot databaseserveren når neste sett skal hentes? Enten må den bruke SQL paging funksjoner (f.eks. LIMIT på Oracle, PostgreSQL og MySQL, eller ROW_NUMBER() i SQL Server 2005), eller bruker Clarion cursors og holder en connection åpen så lenge listboksen viser.

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...