webForumDet fria alternativet

flera AND i SQL

10 svar · 369 visningar · startad av nybörjare

nybörjareMedlem sedan nov. 200178 inlägg
#1

Hejsan.

Jag har en SQL sats som ser ut så här:
SQL = "SELECT * FROM temp where SID = "& Session.SessionID &" AND AID = "& Session("AID") &""

Men jag skulle behöva minst två AND till i den satsen men om jag lägger till det så får jag fel meddelandet:

Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

Den nya SQL:

SQL = "SELECT * FROM temp where SID = "& Session.SessionID &" AND AID = "& Session("AID") &" AND size = "& Request.form("size") &" "

Några förslag hur jag kan lösa detta?

Med vänlig hälsning

trexterMedlem sedan mars 20021 889 inlägg
#2

...har för mig att man måste skriva "where blabla = blabla and where blabla = blabla and where = blabla" osv. :)

nybörjareMedlem sedan nov. 200178 inlägg
#3

Men om man nu måste skriva where efter varje AND borde inte detta gälla efter första AND ?

SQL = "SELECT * FROM temp where SID = "& Session.SessionID &" AND AID = "& Session("AID") &""

Där behöver jag inte har med Where och det funkar utmärkt ?

Mvh

aasahMedlem sedan mars 20034 471 inlägg
#4

trexter skrev:

...har för mig att man måste skriva "where blabla = blabla and where blabla = blabla and where = blabla" osv. :)

Detta är helt fel! Man har ALDRIG mer än en WHERE per SQL-uttryck. (Varje subfråga räknas som eget uttryck, så det stämmer faktiskt.)

nybörjare - Jag vet inte vad som är fel men syntaxen för flera AND är:

SELECT ... FROM ...
WHERE villkor1 AND villkor2 AND villkor3 AND.... villkor10;

dvs du kan AND:a hur många du vill.

Varför tror du att det finns ett forum här som heter
webForum > Webbrelaterade forum > Databaser > SQL , tro?

aasahMedlem sedan mars 20034 471 inlägg
#5

.... citering, ej ändring GRRRR

celiaMedlem sedan dec. 20012 532 inlägg
#6

Har Session.SessionID och Request.form("size") några värden? Testa att skriva ut SQL-strängen.

cyprysMedlem sedan dec. 20003 563 inlägg
#7

Det handlar om att du måste sätta fnuttarna rätt.

Är kolumnen av datatyp int så används inga enkelfnuttar runt värdet.
Av textvärde (char/MEMO) används enkelfnuttar.

ex.
"SELECT FROM WHERE UserID = 26"
"SELECT FROM WHERE UserID = " & request.form("UserID") & " "

"SELECT FROM WHERE UserName = 'Daniel Nibon' "
"SELECT FROM WHERE UserName = '" & request.form("UserName) & "' "
JonMedlem sedan juli 20011 304 inlägg
#8

Prova att skriva ut din ihopsatta sql-sats med response.write istället för att köra den så ska du nog se att det är något annat som är knas. Min gissning är att någon av dina parametrar saknar värde (ungefär som felmeddelandet säger) :)

Är det så att något som du försöker hämta i databasen är en sträng måste värdet även omges med enkelfnuttar, '

nybörjareMedlem sedan nov. 200178 inlägg
#9

Ojjj ojj de va så enkelt som cyprys och Jon sa jag hade helt enkelt glömt bort enkelfnuttarna :/

Tack så jätte mycket för de snabba & jätte bra svaren

trexterMedlem sedan mars 20021 889 inlägg
#10

aasah skrev:

trexter skrev:

...har för mig att man måste skriva "where blabla = blabla and where blabla = blabla and where = blabla" osv. :)

Detta är helt fel! Man har ALDRIG mer än en WHERE per SQL-uttryck.

Ledsen om jag upprörde dig. ;)

OveRRidEMedlem sedan feb. 200112 078 inlägg
#11

Flyttas från ASP, VBScript.

130 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)