Avatar billede jensen2005 Nybegynder
23. oktober 2005 - 15:16 Der er 4 kommentarer og
1 løsning

MS SQL problem!

Hej Eksperter

Jeg er ved at konvertere fra Access til MS SQL og er løbet ind i et problem..

Dette SQL kunne lade sig gøre når jeg hentede fra en Acces database:
string menuSQL = "(SELECT * FROM hovedmenu Left JOIN undermenu ON hovedmenu.nogle = undermenu.horertil ORDER BY hovedmenu.rekkefolge,undermenu.rekkefolge  ) ";

Når jeg udskrev fra Acces skrev jeg sådan her i datareder, for at fortælle hvilke tabel den skulle tage fra f.eks. menuDatareader["hovedmenu.navn"].ToString() eller f.eks. menuDatareader["undermenu.navn"].ToString()

Men MS SQL vil ikke æde den ovenstående SQL kode eller tillade at jeg skriver med dataredear som vist!.

Derfor har jeg prøvet at ændre SQL til:
string menuSQL = "(SELECT hovedmenu.nogle AS H_nogle, hovedmenu.navn AS H_navn, hovedmenu.rekkefolge, undermenu.nogle AS nogle, undermenu.navn AS navn, undermenu.horertil AS horertil, undermenu.rekkefolge FROM hovedmenu Left JOIN undermenu ON hovedmenu.nogle = undermenu.horertil ORDER BY hovedmenu.rekkefolge, undermenu.rekkefolge ) ";

men dette giver en fejl ved ORDER BY…

Hvad kan jeg gøre..
Avatar billede jensen2005 Nybegynder
23. oktober 2005 - 15:36 #1
Jeg får følgende fejl:

Incorrect syntax near the keyword 'ORDER'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: Incorrect syntax near the keyword 'ORDER'
Avatar billede softspot Forsker
23. oktober 2005 - 15:48 #2
Prøv med:

string menuSQL = "SELECT " +
  "hovedmenu.nogle AS H_nogle, " +
  "hovedmenu.navn AS H_navn, " +
  "hovedmenu.rekkefolge AS H_rekkefolge, " +
  "undermenu.nogle AS nogle, " +
  "undermenu.navn AS navn, " +
  "undermenu.horertil AS horertil, " +
  "undermenu.rekkefolge AS rekkefolge " +
  "FROM hovedmenu LEFT JOIN undermenu ON hovedmenu.nogle = undermenu.horertil " +
  "ORDER BY hovedmenu.rekkefolge, undermenu.rekkefolge;";

Og ellers vil check om kolonnenavnene er stavet korrekt ifht. SQL-sætningen...
Avatar billede jensen2005 Nybegynder
23. oktober 2005 - 15:57 #3
Helt kanon ..
Det du gjorde var at fjerne parenteser + at tilføre et ; til sidst….Jeg forstår ikke helt hvorfor det hjalp men alle tiders tak…
Du kan bare ligge et svar ind hvis du vil have din point.
Mvh
Avatar billede softspot Forsker
23. oktober 2005 - 16:03 #4
Velbekomme :)

Jeg smed også lige nogle alias på rekkefolge-kolonnerne. Jeg tror det har gjort udslaget...
Avatar billede softspot Forsker
23. oktober 2005 - 16:06 #5
Tak for point :)
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