Avatar billede __ Nybegynder
23. marts 2002 - 21:28 Der er 29 kommentarer og
1 løsning

Under lig udskrivning i SQL

Fatter ikke helt dette her jeg får denne udskrivning når jeg sortere relutaterne efter navn (ORDER BY navn):

La
Læ
Lb
Lc
Ld
Le
Lo
Lp
Lx

Problemet er at æ ligger efter a, og det skal det jo ikke!!, hvorfor i al verden gør det det?, kan den ikke fatte dansk elelr hvad?
Avatar billede rou Nybegynder
23. marts 2002 - 21:32 #1
Fordi din database er sat forkert op. Jeg aner ikke hvilken type database du bruger, når nu du poster i en ASP gruppe (hvorfor egentligt det?), men hvis det er MSSql server så skal du have ændret din Sort Order
Avatar billede __ Nybegynder
23. marts 2002 - 21:32 #2
Bruger Ms access!
Avatar billede __ Nybegynder
23. marts 2002 - 21:33 #3
Hvordan kan man sætte en access db forkert op?
Avatar billede rou Nybegynder
23. marts 2002 - 21:36 #4
Hmmm, jeg tror Access bruger operativsystemets Regional Settings. Men jeg er ikke sikker.
Prøv at check dem.

Det kan evt. også være fordi en engelsk access ikke kan sortere dansk korrekt. Desværre har jeg aldrig haft problemet med access, så der kan jeg ikke hjælpe dig yderligere
Avatar billede __ Nybegynder
23. marts 2002 - 21:47 #5
Hmm jeg fatter det helder ikke, mit access er dansk!, du kan lige se min sql sætning, det kan være det er den der er problemet!:

<%
startletter = Request.QueryString("startletter")

'Vis der ikk er valgt noget bogstav, start med at vise bogstavet A
if startletter = "" then
startletter = "A"
end if
%>

<!--#include file="DNSCon.asp"-->

<%
'Vis tal sorteringen (123) er valgt, tilknyt alle rekorder som ikke starter med et bogstav
if startletter = "nonalphabet" then
sql = "SELECT navn FROM koder WHERE navn Not Like 'a%'"
for alphabet = 98 to 122
sql = sql & " AND navn Not Like '" & chr(alphabet) & "%'"
next
sql = sql & " ORDER BY navn"

'Ellers find posterne som starter med det valgte bogstav
else
sql = "SELECT navn FROM koder WHERE navn Like '" & startletter & "%' ORDER BY navn"

end if
Set rsUsers = Server.CreateObject("ADODB.Recordset")
rsUsers.Open sql, conn
%>
Avatar billede rou Nybegynder
23. marts 2002 - 21:50 #6
Hmm, når du vil finde efter forbogstav, har du slet ikke en ORDER BY på.

Desuden, istedet for den løkke du har, ved numerisk start..prøv
"SELECT navn FROM koder WHERE ISNUMERIC(LEFT(navn,1)) ORDER BY navn"

Jeg tror det virker i access også. Og så er det meeeget hurtigere.
Avatar billede __ Nybegynder
23. marts 2002 - 21:57 #7
Ville du ikke være så venlig at lige kopiere mit script ind igen, og så indsætte det du mener jeg skal lave om...?
Avatar billede rou Nybegynder
23. marts 2002 - 22:03 #8
<%
startletter = Request.QueryString("startletter")

'Vis der ikk er valgt noget bogstav, start med at vise bogstavet A
if startletter = "" then
  startletter = "A"
end if
%>

<!--#include file="DNSCon.asp"-->

<%
'Vis tal sorteringen (123) er valgt, tilknyt alle rekorder som ikke starter med et bogstav
if startletter = "nonalphabet" then
  sql = "SELECT navn FROM koder WHERE ISNUMERIC(LEFT(navn,1)) ORDER BY navn"
else
  'Ellers find posterne som starter med det valgte bogstav
  sql = "SELECT navn FROM koder WHERE LEFT(navn,1) = '" & startletter & "' ORDER BY navn"
end if

Set rsUsers = Server.CreateObject("ADODB.Recordset")
rsUsers.Open sql, conn
%>

Det løser ikke dit sorterings problem, men har du kigget hvad der står i dine regional settings?
Avatar billede __ Nybegynder
23. marts 2002 - 22:06 #9
Hvor kan jeg se det?
Avatar billede __ Nybegynder
23. marts 2002 - 22:08 #10
Det åndsvage æ er der stadig når jeg udskriver!
Avatar billede rou Nybegynder
23. marts 2002 - 22:10 #11
Inde i Control Panel, på den maskine hvor Access filen ligger.

Start --> Settings --> Control Panel --> Regional Options i win2k
Avatar billede __ Nybegynder
23. marts 2002 - 22:12 #12
Ja nu ahr jeg 98, men der er noet der hedder International og der står DANSK
Avatar billede __ Nybegynder
23. marts 2002 - 22:14 #13
Jeg fatter det helder ikk, er aldrig stødt på fejlen før, jeg giver dig lige hele scriptet, det kunne jo være der var noet pis med. Det er noet jeg fandt, og skal bruge til en side! :

<%
startletter = Request.QueryString("startletter")

'Vis der ikk er valgt noget bogstav, start med at vise bogstavet A
if startletter = "" then
  startletter = "A"
end if
%>

<!--#include file="DNSCon.asp"-->

<%
'Vis tal sorteringen (123) er valgt, tilknyt alle rekorder som ikke starter med et bogstav
if startletter = "nonalphabet" then
  sql = "SELECT navn FROM koder WHERE ISNUMERIC(LEFT(navn,1)) ORDER BY navn"
else
  'Ellers find posterne som starter med det valgte bogstav
  sql = "SELECT navn FROM koder WHERE LEFT(navn,1) = '" & startletter & "' ORDER BY navn"
end if

Set rsUsers = Server.CreateObject("ADODB.Recordset")
rsUsers.Open sql, conn
%>


<!-- Displays A-Z -->
<a href="userview.asp?startletter=nonalphabet">123</a>
<%'Loop through alphabet (chars 65 to 90 are A-Z)
for alphabet = 65 to 90%>

<a href="userview.asp?startletter=<%=chr(alphabet)%>"><%=chr(alphabet)%></a>
<%next%>
 
 
<%if not rsUsers.EOF then%>

<!-- Displays users -->
<br><br><font face="arial" size="2">Følgende resultater blev fundet:</font><br>
<%rsUsers.Movefirst
do until rsUsers.EOF%>

<br>
<font face="arial" size="2"><%=rsUsers("navn")%></font>
<%rsUsers.Movenext
loop%>

<%'If no users, give a message
else%>

<br><br>Ingen koder i databasen som starter med <b><%=startletter%></b>
<%end if%>
Avatar billede __ Nybegynder
23. marts 2002 - 22:17 #14
Vis scriptet bare ikk kan virke, kan man så lave et alternativ, for selv fatter jeg ikk en meter af scriptet!
Avatar billede rou Nybegynder
23. marts 2002 - 22:17 #15
Ok, jeg kender stort set intet til 98. Beklager.

Hvilken version af Access har du?
I min Access2000 er der under Tools-->Options-->General en dropdown menu til Sort Order.
Den kan have en betydning :)
Avatar billede __ Nybegynder
23. marts 2002 - 22:22 #16
Hmm kan umidlbart ikke finde det. Men ville lige spørge om noget. til mit site regner jeg med at der i løbet af ½ år vil være ca 10.000 poster tilføjet, er access beregnet til det?
Avatar billede rou Nybegynder
23. marts 2002 - 22:26 #17
Hmmm, som udpræget hader af Access vil jeg selfølgeligt sige nej. Især ikke hvis du ynder at bruge LIKE til at søge med.
Antallet af poster er dog ikke ensbetydende med dårlig performance, nærmere måden du henter dem på, og hvor tit du gør det.

Access er overhovedet ikke gearet til at ligge bag noget der kræver hurtige data, i store mængder.

10k poster er dog ikke normalt hvad man kalder "mange".
Avatar billede __ Nybegynder
23. marts 2002 - 22:29 #18
Nai ok det er til en snydekode side, hvor at kode feltet nok indeholder RIMELIG mange tegn!, derfor er jeg i tvivl om jeg skal bruge access eller hvad?
Avatar billede __ Nybegynder
23. marts 2002 - 22:30 #19
Yes, har fået det tila t virke så den sorterer ordentlig!
Avatar billede rou Nybegynder
23. marts 2002 - 22:31 #20
Hvis det er økonomien du er bange for, så er der altid MySQL som i højere grad er en "rigtig" database.

Men endnu bedre... MS har lige udgivet deres MSSQL2000 i en gratis udgave, som kun tillader een bruger. Altså evt. et website.
Jeg er dog ikke sikker på hvad betingelserne for brug af den er.
Avatar billede __ Nybegynder
23. marts 2002 - 22:32 #21
Men hvad andre alternativer er der.
Kravene er nok at:

*Jeg skal have mange poster
*Mine poster fylder nok lidt
*Databasen skal være så hurtig så mulig

Hvad ville dit bedste bud vær på en database?
Avatar billede __ Nybegynder
23. marts 2002 - 22:33 #22
Nå ok
Avatar billede __ Nybegynder
23. marts 2002 - 22:34 #23
Men ville det være helt fjollet at køre med access, er det meget langsomt, når der er mange poster eller hvad?
Avatar billede rou Nybegynder
23. marts 2002 - 22:37 #24
Bedste bud på en database... det er nok lidt religion, men jeg tror sagtens du kan nøjes med MySql.

Hvis du virkeligt skulle have performance, skulle du bruge Oracle eller MSSql, men det er jo uden for de flestes formåen, rent økonomisk.
Avatar billede rou Nybegynder
23. marts 2002 - 22:37 #25
Jeg tror også godt Access kan klare dit site, men det kommer meget an på hvad du regner med i belastning, mht antal samtidige brugere.
Avatar billede __ Nybegynder
23. marts 2002 - 22:40 #26
Det ved jeg ikk vis nu jeg sætter det til 50
Avatar billede rou Nybegynder
23. marts 2002 - 22:55 #27
Så mener jeg ikke Access bør kunne klare det.
50 er dog ret mange samtidige brugere, for et lille site.
Avatar billede __ Nybegynder
23. marts 2002 - 22:58 #28
Ja men vis nu sitet blir stort!, så kan man da ikk bare lave alle sine poster fra access om til en anden db vel?
Avatar billede rou Nybegynder
23. marts 2002 - 23:06 #29
joo, det kan man egentligt godt. Det er ikke særligt svært fra Access til MSSQL.

Men hvis du tror dit site bliver stort, skal du nok gå for MySQL.
Det er stadig gratis.
Avatar billede __ Nybegynder
23. marts 2002 - 23:09 #30
ok, tak for hjælpen/rådene!
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
Kurser inden for grundlæggende programmering

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