Avatar billede wolker Nybegynder
17. maj 2005 - 09:09 Der er 7 kommentarer og
1 løsning

Sorteret data fra database

Hvordan får jeg sat den rigtige culture til en sqldatabase, dvs. sådan at den returnerer æøå korrekt ved en 'order by', kan det sættes på et dataset, eller er det selve connection??
Avatar billede wolker Nybegynder
18. maj 2005 - 10:36 #1
Er der virkelig ikke nogen der kan svare på dette.
Jeg har måske ikke forklaret det godt nok, så jeg prøver lige igen.

Det jeg mener er at når jeg udfør f.eks flg. (mod en SqlServer)
'Select navn from navne_tabel order by navn' får jeg flg.

Bent
Børge
Bo
Brad
Buster

Her skal Børge jo komme sidst. Hvordan gør jeg det, det skal kunne sættes dynamisk, altså ikke noget med web.config, da det også skal virke i Norge, Sverige og England
Avatar billede snepnet Nybegynder
18. maj 2005 - 14:00 #2
du skal nok kigge lidt på collation i din database - både hvad database default er, men også om der er sat noget særligt på det felt du søger i.
det er ikke noget jeg er særlig skarp i.

du kan evt skrive her hvad de er sat til, om om det er en sqlserver 2000 eller en ældre - eventuelt en database du har flyttet fra en ældre til en nyere version af sql-server... jeg mener der kan være forskellige default-collations.

desuden skal du nok kigge lidt på globalization og localization i din applikation (det kan jeg til gengæld hjælpe mere med).

mvh
Avatar billede wolker Nybegynder
18. maj 2005 - 23:51 #3
Det er en sqlserver 2000 og databasen har collation SQL_Latin1_General_CP1_CI_AS

Men det skal/kan jo ikke ændres, da det jo også skal virke i Norge, Sverige,England og for mig lyder det også helt skør at det skulle have noget med opsætningen på sqlserveren at gøre, for da de udviklede .net og sqlserver 2000, må de da have tænkt på at der findes mange forskellige sprog Spansk, Rusisk, Tysk, Dansk m.m. og dermed et behov for at sortere rigtig uden at man skal ændre opsætningen.

Så det må være et spørgsmål om at man fra .net, sender de rigtige kommandoer eller  ændrer en indstilling i connectionstring, eller sætter en/flere properties på dataconnection/dataadapter/dataset eller .....

Jeg har kigget lidt på globalization og localization, men jeg synes ikke jeg kan finde noget om databaser, kun en masse om hvordan man sætter sproget på en webform m.m.

Så har du nogle ideer hvor jeg skal lede??
Avatar billede snepnet Nybegynder
19. maj 2005 - 01:16 #4
det med localization og globalization var nu mest af hensyn til resten af applikationen - såfremt du også fiskede f.eks. beløb og datoer frem til brugerne.

jeg er ikke helt sikker på at jeg forstår det du skriver ..... hvordan ville du f.eks. sortere et Ø på kinesisk - det er jo et ukendt symbol i Kina (lige så vel som det heller ikke giver mening i england).
så jeg synes da det er meget svært at få øje på at der kan være noget der pr. automatik forærer dig den rigtige rækkefølge.

hvis du sidder i england, og laver en forespørgsel - hvordan vil du så foreslå at den vægtede sorteringen på et Ø ?

du kan i en given select angive en collation - f.eks. sådan her :
"select navn from navne_tabel order by navn collate Danish_Norwegian_CI_AS"

det vil f.eks. give dig den rigtige sortering i forhold til folk der synes at et ø skal komme meget langt nede i listen.

så du kan for så vidt godt indbygge noget i den stil i dine selects - altså angive din collation i forhold til det land brugeren sidder i (eller det sprog han har valgt), men du ender nok stadig med at sidde med problemet med hvor i rækken ø'et hører til, når folk der ikke kender tegnet kigger på det.

du kan slå de forskellige collations op i sql-serveren med sådan en her :
SELECT * FROM ::fn_helpcollations()
(der er også en beskrivelse med).

mvh
Avatar billede wolker Nybegynder
19. maj 2005 - 23:06 #5
Mange tak, det var lige det jeg skulle bruge.

Og jeg kan godt forstå at du er forvirret, men selvfølgelig viser vi ikke noget med æ ø å i England, det eksempel jeg skrev var kun et tænkt eksempel for at holde det så simpel som mulig.
Det som det drejer sig om er udtræk af lande og byer, på danske site vises de med æøå og i England er det selvfølgelig engelske navne o.s.v.

Men som sagt, dit svar var lige det jeg skulle bruge, så kom med et svar så du kan få dine point.

Det er faktisk utrolig at jeg ikke er stødt på din løsning i min søgning på nettet samt i hjælpefilen, for den er jo meget simpel når man ved det.
Avatar billede snepnet Nybegynder
19. maj 2005 - 23:13 #6
ah... fint at du kunne bruge det :o)
- hvis du ikke har kunnet finde noget om det på nettet, er det muligvis fordi jeg digtede den selv ;o)
mvh
Avatar billede snepnet Nybegynder
19. maj 2005 - 23:20 #7
(altså ... jeg fandt heller ikke umiddelbart noget på nettet ;o)
Avatar billede wolker Nybegynder
20. maj 2005 - 23:22 #8
Det var godt digtet, og nu kan andre forhåbentlig finde løsningen ved at søge på nettet :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester