Min Databas ser ut så hära:
[Poll]
Id
Fraga
Datum
[Pollresultat]
Id
Pollen
Svar
------------------
Mikael Tyrsén
</www.tyrsen.nu>
</mikael@tyrsen.nu>
6 svar · 215 visningar · startad av Jacek
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>
Min Databas ser ut så hära:
[Poll]
Id
Fraga
Datum
[Pollresultat]
Id
Pollen
Svar
------------------
Mikael Tyrsén
</www.tyrsen.nu>
</mikael@tyrsen.nu>
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
Jo.. men det är inte där felmedelandet pekar ju...
------------------
Mikael Tyrsén
</www.tyrsen.nu>
</mikael@tyrsen.nu>
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]
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]
Ä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>