03. december 2005 - 15:11Der er
8 kommentarer og 1 løsning
Spørgsmål om SELECT
Hej
Jeg har følgende select-sætning: strSQL = "SELECT * FROM begivenheder WHERE" strSQL = strSQL & " " & strYear & "" strSQL = strSQL & " AND (hold LIKE " & Request.QueryString("hold") & ")" strSQL = strSQL & " ORDER By " & strSort & ""
Her er det meningen at der blandt andet kun skal vises ting hvor "hold" er lig med min querystring, i databasen. Et eksempel på min querystrings værdi kunne for eksempel være tallet 3. Nu vil jeg imidlertid også gerne have det sådan at man i databasen for eksempel kan skrive "3, 4" og så bliver denne række fundet hvis min querystring enten er 3 eller 4.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
prøv med: strSQL = "SELECT * FROM begivenheder WHERE" strSQL = strSQL & " " & strYear & "" strSQL = strSQL & " AND (hold LIKE %" & Request.QueryString("hold") & "%)" strSQL = strSQL & " ORDER By " & strSort & ""
Synes godt om
Slettet bruger
03. december 2005 - 15:22#2
Det virker ikke... Så får jeg følgende fejl: Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error in query expression 'AllY=0 AND (hold LIKE %5%)'.
***************.asp, line 344
Men det jeg er ud i er noget med en split-funktion som så kan lave den del af select-sætningen hvor min querystring indgår for hvert komma som er i databasefeltet. Men hvordan kan man eventuelt hente feltet "hold" i databsen uden at man egentligt har udført sætningen?
Det jeg er ude i er noget a la det her, det ville virke hvis bare man kunne hente feltet som hedder hold midt i det hele...:
strSQL = "SELECT * FROM begivenheder WHERE" strSQL = strSQL & " " & strYear & "" flerehold = split(????,",") for i=0 to ubound(flerehold) strSQL = strSQL & " AND (hold LIKE " & flerehold(i) & ")" next strSQL = strSQL & " ORDER By " & strSort & ""
De fire spørgsmålstegn er så det jeg ikke kan...
- Eller skal opgaven gribes an på en helt anden måde?
\Dan
Synes godt om
Slettet bruger
03. december 2005 - 15:29#3
SELECT * FROM begivenheder WHERE" strSQL = strSQL & " " & strYear & "" strSQL = strSQL & " AND hold in(" & Request.QueryString("hold") & ")" strSQL = strSQL & " ORDER By " & strSort
Synes godt om
Slettet bruger
03. december 2005 - 15:33#4
Hej
Nej denne virker desværre heller ikke.
Her får jeg følgende fejlmeddelse: Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
Kan man virkelig ikke lave det med en split-funktion eller lignende?
hvad ned : strSQL = "SELECT * FROM begivenheder WHERE" strSQL = strSQL & " " & strYear & "" strSQL = strSQL & " AND (hold LIKE '%" & Request.QueryString("hold") & "%')" strSQL = strSQL & " ORDER By " & strSort & ""
Synes godt om
Slettet bruger
03. december 2005 - 15:42#7
Nu kan jeg så næsten se at det må være en varchar, så bliver du nødtil at få sat ' ' omkring de enkelte elementer i din querystring parameter sådan her:
hvis du får 3,4 skal det laves om til '3','4' inden du bruger det i
SELECT * FROM begivenheder WHERE" strSQL = strSQL & " " & strYear & "" strSQL = strSQL & " AND hold in(" & Request.QueryString("hold") & ")" strSQL = strSQL & " ORDER By " & strSort
Synes godt om
Slettet bruger
03. december 2005 - 17:11#8
Hej
Mange tak for svarene!
Det var nu det ovenstående eksempel med: strSQL = strSQL & " AND (hold LIKE '%" & Request.QueryString("hold") & "%')" jeg kunne få det til at køre med... Så kan dr_chaos ikke lige smide et svar for point?
Desuden kan jeg sige at "hold" er af datatypen "notat" i databasen...
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.