webForumDet fria alternativet

min poll är seppe!

ASP

6 svar · 215 visningar · startad av Jacek

Medlem sedan apr. 2000169 inlägg
Frågan#1

hej...
När jag skriver adresen till min sida som heter index.asp så skriver jag så här:

index.asp?poll=1

Men jag får bara fram ett asp fel som lyder:

Microsoft OLE DB Provider for ODBC Drivers fel '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/tidningen/index.asp, rad 10

Men jag fattar inte hur det felmeddelandet kan komma om min kod ser ut så här:

<%
set conn=server.createobject("adodb.connection")
path="DBQ=" & server.mappath("db/tidningen.mdb")
conn.open "driver={microsoft access driver (*.mdb)}; " & path,"name","name"

namnsdag = "SELECT namn1,namn2 FROM Namnsdag WHERE Manad="&Month(Date)&" and Dag="&Day(Date)&""
Set namnsdag = Conn.Execute(namnsdag)

SQLStmt ="SELECT COUNT(Svar) AS Totalt FROM Pollresultat WHERE Pollen = " & Trim(Request.Querystring("Poll"))
SET RS1=Conn.Execute(SQLStmt)
SET SQLStmt=Nothing

SQLStmt ="SELECT COUNT(Svar) AS Ja FROM Pollresultat WHERE Svar = 'Ja' AND Pollen = " & Trim(Request.Querystring("Poll"))
SET RS2=Conn.Execute(SQLStmt)
SET SQLStmt=Nothing

SQLStmt ="SELECT COUNT(Svar) AS Nej FROM Pollresultat WHERE Svar = 'Nej' AND Pollen = " & RTrim(equest.Querystring("Poll"))
SET RS3=Conn.Execute(SQLStmt)
SET SQLStmt=Nothing

SQLStmt ="SELECT Fraga FROM Poll WHERE Id = " & Trim(Request.Querystring("Poll"))
SET RS4=Conn.Execute(SQLStmt)
SET SQLStmt=Nothing

Antal = RS1("Totalt")
JaProcent = round((RS2("Ja")/RS1("Totalt"))*100)
NejProcent = round((RS3("Nej")/RS1("Totalt"))*100)
Fraga = RS4("Fraga")

RS1.Close
RS2.Close
RS3.Close
RS4.Close
%>

Snälla kan NÅGON hjälpa mig?

------------------
Mikael Tyrsén
</www.tyrsen.nu>
</mikael@tyrsen.nu>

Medlem sedan apr. 2000169 inlägg
#2

Min Databas ser ut så hära:

[Poll]
Id
Fraga
Datum

[Pollresultat]
Id
Pollen
Svar

------------------
Mikael Tyrsén
</www.tyrsen.nu>
</mikael@tyrsen.nu>

Medlem sedan dec. 19998 577 inlägg
#3

Alla fält som har datatypen datum skall i SQLsträngen omslutas av #-tecknet så om Manad är ett datumfält så skall t.ex den första SQLsträngen se ut såhär:

namnsdag = "SELECT namn1,namn2 FROM Namnsdag WHERE Manad=#"&Month(Date)&"# and Dag=#"&Day(Date)&"#"

Lycka till...

Mvh, Vide

------------------
Function onLick(name)
Punch.name(in_the_ear)
End Function

Jourhavande Vide

Medlem sedan apr. 2000169 inlägg
#4

Jo.. men det är inte där felmedelandet pekar ju...

------------------
Mikael Tyrsén
</www.tyrsen.nu>
</mikael@tyrsen.nu>

Medlem sedan dec. 200012 464 inlägg
#5

Vilken datatyp har kolumnen pollen? Om det är karakärstyp så skall sökvärdet omges av ''

Tillägg:

När du söker i tabellen poll så använder du kolumnen ID och jämför med ett värde men när du söker i tabellen pollen så jämnför du kolumnen pollen med samma värde. Är det så det skall vara eller ska det ID i båda fallen?
------------------
essentitia preter non sans multiplicandum

[Redigerat av LarsG den 21 jan 2001]

Medlem sedan sep. 2000215 inlägg
#6

Yes, det borde nog vara en bra idé att kolla upp dina datatyper.
Det är jäkligt lätt att missa sådant.

En annan greg. Skriv ut dina variabler och sql-satser så att du ser att du verkligen får med dig värdena hela tiden!

[Redigerat av Andreas L den 22 jan 2001]

Medlem sedan apr. 2000169 inlägg
#7

Är inte så jätte hajj på databaser och asp men hur kollar man upp det da?

------------------
Mikael Tyrsén
</www.tyrsen.nu>
</mikael@tyrsen.nu>

259 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)