Ja, det är för att man inte ska ha apostrofer runt värden i SQL-frågor om fältet är av någon taltyp.
(Du saknar förresten en > för att avsluta din <td>-tagg.)
mvh
2 svar · 289 visningar · startad av HasseSvens
Hej, har en funktion i 3 steg för att redigera data i en Access-bas. I steg 1 loopas samtliga poster ut och man klickar på ex datumet.
\<td \<A HREF=redigera_steg_2.asp?ref=\<%= rs("ID")%\>\>\<%= rs("ID")%\>\</A\>\</td\>
Kommer då till steg 2 där man kan uppdatera den valda postens innehåll. I steg 3 uppdateras databasen. Detta funkar när man i steg ett länkar till en datatyp som är Text, men föröker jag länka till datatypen Räknare (vilken är den enda unika posten i basen) för jag följande felmeddelande i steg 2:
/Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
/isit_db/servicefonster/test/redigera_steg_2.asp, line 8/
Koden i steg 2 är följande:
<%
ref = Request.QueryString("ref")
Set db = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
db.open "DSN=servicefonster;UID=;PWD="
db.Execute("DELETE * FROM test WHERE datum_till < Date()-1")
SQL = "SELECT * FROM test WHERE ID = '" & ref & "'"
rs.open SQL, db
%>
Någon som vet varför den stupar om datatypen i dbn är Räknare?
Ja, det är för att man inte ska ha apostrofer runt värden i SQL-frågor om fältet är av någon taltyp.
(Du saknar förresten en > för att avsluta din <td>-tagg.)
mvh