webForumDet fria alternativet

Too few parameters ??

ASPur ASP

9 svar · 392 visningar · startad av Spook

Medlem sedan dec. 20041 043 inlägg
Frågan#1

Tjena !

Har en sida som skall sortera ut företagsinformation sorterat på "TYP".
Får ett felmeddelande som ser ut som följer:

Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/dindomän.se/company_show.asp, line 10

Koden för denna funktion är som följer:

rs.Open "select Top 1 * From agcompany Where typ = " & Request.QueryString("sid") & " Order by ID DESC", conn, 3, 3
If NOT rs.EOF Then
	fronttext = Replace(rs.Fields("fronttext"), vbCrLf, "<br>")
End If

rs.Close

Någon som på ett snabbt och smidigt sätt kan peka på ungefär vart jag har blivit dum i huvudet ?

Medlem sedan mars 20032 667 inlägg
#2

Sätter min peng på att du har stavat något tabell- eller kolumnnamn fel. Kolla så att de verkligen heter så. ;)

Medlem sedan dec. 20041 043 inlägg
#3

Har dubbelkollat detta.
Tyvärr var det inte så enkelt.

Medlem sedan juni 20003 076 inlägg
#4

Innehåller Request.QueryString("sid") ett värde?

Medlem sedan juni 20014 421 inlägg
#5

du har egentligen 3 alternativ:

ett fält-namn är felstavat,
värdet du försöker sätta in är tomt eller så satte du in fel datatyp.

hur ser frågan ut om du kör:
response.write på den?

Medlem sedan dec. 20041 043 inlägg
#6

Jag skall i menysystemet kunna ange följande länk:

company_show.asp?sid=ledning

Har en enklare variant som inte heller funkar, den ser ut som följer:

rs.Open "Select * From agcompany Where typ = " & sid , conn
If NOT rs.EOF Then
	fronttext = Replace(rs.Fields("fronttext"), vbCrLf, "<br>")
End If

Vill dessvärre inte heller fungera.

Medlem sedan mars 20032 667 inlägg
#7

Du försöker alltså skicka in en sträng, men anger att det är ett numeriskt värde:

rs.Open "select Top 1 * From agcompany Where typ = '" & Request.QueryString("sid") & "' Order by ID DESC", conn, 3, 3
If NOT rs.EOF Then
	fronttext = Replace(rs.Fields("fronttext"), vbCrLf, "<br>")
End If

rs.Close

Lägg till lite fnuttar. ;)

Medlem sedan dec. 20041 043 inlägg
#8

K@llen skrev:

Du försöker alltså skicka in en sträng, men anger att det är ett numeriskt värde:

rs.Open "select Top 1 * From agcompany Where typ = '" & Request.QueryString("sid") & "' Order by ID DESC", conn, 3, 3
If NOT rs.EOF Then
	fronttext = Replace(rs.Fields("fronttext"), vbCrLf, "<br>")
End If

rs.Close

Lägg till lite fnuttar. ;)

Funkade fint, ibland stirrar man sig blind....*asg*

Kiitos !!

Medlem sedan mars 20032 667 inlägg
#9

Du skrev som att du försöker skicka in ett numeriskt värde:

" & Request.QueryString("sid") & "

Du skickar in "ledning", dvs en sträng. Ändra då till:

'" & Request.QueryString("sid") & "'

EDIT: Femöringen trillade visst ner undertiden jag skrev. ;)

Medlem sedan dec. 19996 721 inlägg
#10

SQL Injection Alert.

255 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
117 ms — hämta statistik (db)
133 ms — hämta tråd, inlägg och bilagor (db)