Feltyp: Inte någon expert, men har du testat med enkelfnuttar runt värdena i SQL-strängen ?? Problemet är löst: [Lista inlägg sorterade efter månadern]Inkompatibla typer vid tal (MySQL & ASP)
Körningsfel i Microsoft VBScript (0x800A000D)
Inkompatibla typer
/nordpol/test.asp, line 30
...får jag när jag kör:
<code>
<%
ar=2004
Session.LCID = 1053 ' Svenska datum
Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT *, MONTH(eventdate) AS manad FROM calender " &_
"WHERE YEAR(eventdate) = " & ar & " " &_
"ORDER BY eventdate ASC"
strDSN = "nordpol"
rs.Open strSQL, strDSN, 3, 3
Response.Write("År " & ar & "<br/>")
' Loopa över månader
For manad = 1 To 12
' Skriv ut månadsnamn
Response.Write uCase(MonthName(manad)) & "<br>"
' Om inga händelse denna månad
If rs.EOF Or rs("manad") > manad Then
Response.Write "* inga händelser *<br>"
Else
Do Until rs.EOF
Response.Write rs("eventdate") & " - " & rs("titel") & "<br>"
rs.MoveNext
Loop
End If
Next
rs.close
Set rs=nothing
%>
</code>
Har även testat med:
<code>
If rs.EOF Or (CINT(rs("manad")) > CINT(manad)) Then
</code>
...stället för:
<code>
If rs.EOF Or rs("manad") > manad Then
</code>
...men då får jag detta felmeddelande:
Feltyp:
(0x80020009)
Felaktig variabeltyp.
/nordpol/test.asp, line 30
rs("manad") hämtar jag ifrån tabellen eventdate med hjälp av "MONTH(eventdate) AS manad". eventdate inehåller datum typ 2004-06-23, "MONTH(eventdate)" ger talet "6".
Bara "manad" ger jag ett värde mellan 1 och 12 med hjälp av "For manad = 1 To 12"Sv: Inkompatibla typer vid tal (MySQL & ASP)
strSQL = "SELECT *, MONTH(eventdate) AS manad FROM calender " &_
"WHERE YEAR(eventdate) = '"& ar &"'" &_
"ORDER BY eventdate ASC"
ibland så är det ack så enkelt, men som sagt.. Inte någon kung på mySQL.Sv: Inkompatibla typer vid tal (MySQL & ASP)