Avatar billede jannikf Nybegynder
16. december 2004 - 23:01 Der er 4 kommentarer og
1 løsning

mismatch in criteria hvorhenne?

Ja som overskriften siger så får jeg:

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

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

/admin/opdateranmeldelse.asp, line 13

Men jeg kan ikke finde fejlen, kan i finde den?

opdateranmeldelse.asp:

<%

strSQL = "Update anmeldelser set "
strSQL = strSQL & "overskrift = '" & Request.Form("overskrift") & "', "
strSQL = strSQL & "tekst = '" & Request.Form("tekst") & "', "
strSQL = strSQL & "karakter = '" & Request.Form("karakter") & "', "
strSQL = strSQL & "tid = '" & Request.Form("tid") & "', "
strSQL = strSQL & "dato = '" & Request.Form("dato") & "'"
strSQL = strSQL & " Where ID = " & Request.Form("edit")

Conn.Execute(strSQL)

Response.Redirect("anmeldelserediger.asp?menu=2")

%>

anmeldelseopret.asp:

<%

strEdit = Request.QueryString("edit")

If strEdit > 0 Then

strSQL = "SELECT * from anmeldelser where id = " & strEdit

set rs = Conn.Execute(strSQL)

strOverskrift = rs("overskrift")
strTekst = rs("tekst")
strDato = rs("dato")
strTid = rs("tid")
strProcent = rs("karakter")


Do

Response.Write strOverskrift
Response.Write strTekst
Response.Write strDato
Response.Write strTid
Response.Write strProcent
Response.Write strEdit



%>

<form method="post" action="opdateranmeldelse.asp">
<br>
<br>
<br>
<br>
<table width="70%" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><font color="#FFFFFF" size="2" face="Verdana, Arial, Helvetica, sans-serif">kkOverskrift</font></td>
</tr>
<tr>
<td><input type="text" name="overskrift" value="<%Response.Write strOverskrift%>"></td>
<td><div align="right">
<select name="karakter" id="karakter">
<option value="1">1 stjerne</option>
<option value="2">2 stjerner</option>
<option value="3">3 stjerner</option>
<option value="4">4 stjerner</option>
<option value="5">5 stjerner</option>
<option value="6">6 stjerner</option>
</select>
</div></td>
</tr>
<tr>
<td><font color="#FFFFFF" size="2" face="Verdana, Arial, Helvetica, sans-serif">Tekst</font></td>
</tr>
</table>
<table width="70%" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>
<textarea name="tekst" cols="54" rows="12" wrap="VIRTUAL" id="txt_area"><%Response.Write strTekst%></textarea>
<input type="hidden" name="edit" value="<%Response.Write strEdit%>"><input type="hidden" value="<%Response.Write strTid%>" name="tid"><input type="hidden" value="<%Response.Write rsDato%>" name="dato">
</td>
</tr>
<tr>
<td><br></td>
<tr>
<td><input type="image" src="billeder/ok.gif"></td>

</tr>
</table>
</form>

<%

rs.Movenext

Loop While Not rs.EOF

Else

%>

Den kan fint vise alle værdierne, men forstår ikke hvorfor den så melder fejl. i min database er den lavet sådan her:

anmeldelser:
ID (autonumber)
overskrift (Text)
tekst (Memo)
karakter (Number)
dato (Date/Time)
tid (Date/Time)

Jeg kan forstå at det er noget med at data ikke passer sammen, men hvilke?
Avatar billede eagleeye Praktikant
16. december 2004 - 23:07 #1
Der skal # omkring når det er Date/Time typer:

strSQL = strSQL & "tid = #" & Request.Form("tid") & "#', "
strSQL = strSQL & "dato = #" & Request.Form("dato") & "#"
Avatar billede eagleeye Praktikant
16. december 2004 - 23:20 #2
Det kan også være en god ide at udskrive sin SQL sætning i stedet for at udføre den for at se om der er fejl i den.

Husk også at udskifte en ' med to '' når du ligger tekst i databasen, hvis man skriver en ' i teksten vil det SQL fejl, eks:

strSQL = strSQL & "tekst = '" & replace(Request.Form("tekst"),"'","''") & "', "
Avatar billede jannikf Nybegynder
16. december 2004 - 23:45 #3
Det bliver det ligeså slemt af:
[Microsoft][ODBC Microsoft Access Driver] Syntax error in string in query expression '#21:19:47#', dato = ## Where ID = 54'.

opdateranmeldelse.asp:
strSQL = "Update anmeldelser set "
strSQL = strSQL & "overskrift = '" & Request.Form("overskrift") & "', "
strSQL = strSQL & "tekst = '" & Request.Form("tekst") & "', "
strSQL = strSQL & "karakter = '" & Request.Form("karakter") & "', "
strSQL = strSQL & "tid = #" & Request.Form("tid") & "#', "
strSQL = strSQL & "dato = #" & Request.Form("dato") & "#"
strSQL = strSQL & " Where ID = " & Request.Form("edit")
Avatar billede jannikf Nybegynder
17. december 2004 - 00:12 #4
Jeg ændrede lidt i anmeldelseopret.asp og så virkede det:

<form method="post" action="opdateranmeldelse.asp">
<br>
<br>
<br>
<br>
<table width="70%" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><font color="#FFFFFF" size="2" face="Verdana, Arial, Helvetica, sans-serif">Overskrift</font></td>
</tr>
<tr>
<td><input type="text" name="overskrift" value="<% Response.Write strOverskrift %>"></td>
<td><div align="right">
<select name="karakter" id="karakter">
<option value="1">1 stjerne</option>
<option value="2">2 stjerner</option>
<option value="3">3 stjerner</option>
<option value="4">4 stjerner</option>
<option value="5">5 stjerner</option>
<option value="6">6 stjerner</option>
</select>
</div></td>
</tr>
<tr>
<td><font color="#FFFFFF" size="2" face="Verdana, Arial, Helvetica, sans-serif">Tekst</font></td>
</tr>
</table>
<table width="70%" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>
<textarea name="tekst" cols="54" rows="12" wrap="VIRTUAL" id="txt_area"><% Response.Write strTekst %></textarea>
<input type="hidden" value="<%Response.Write strEdit %>" name="edit"><input type="hidden" value="<%Response.Write strTid %>" name="tid"><input type="hidden" value="<%Response.Write strDato %>" name="dato">
</td>
</tr>
<tr>
<td><br></td>
<tr>
<td><input type="image" src="billeder/ok.gif"></td>

</tr>
</table>
</form>

Men tak for hjælpen mht. at replace ' med ".
Avatar billede jannikf Nybegynder
17. december 2004 - 14:03 #5
hov.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Nye kolleger søges til IT Stab i Forsvaret

AL Sydbank A/S (tidligere Arbejdernes Landsbank)

Tech Lead til Datacenter Operations

Ringkjøbing Landbobank – Nordjyske Bank

Forretningsudvikler til procesoptimering