|
| Datatyperne stemmer ikke overens i kriteri~ Fra : Morten Raun |
Dato : 17-06-01 01:01 |
|
Hey NG
Jeg er igang med at lave et opdaterings script med det formål at rette i en
brugerprofil. Jeg får følgende fejlmedelese nå jeg kører det:
------------klip-------------------
Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC Microsoft Access-driver] Datatyperne stemmer ikke overens i
kriterieudtrykket.
/2000y/indsaet.asp, line 17
------------klip-------------------
Jeg kender ikke fejlen så jeg ved ikke hvad jeg skal gøre. I linie 17 står
følgende: Conn.Execute(strSQL)
Håber der er nogen der kan hjælpe mig.
Venlig hilsen
Morten Raun
Ps. Dette er scriptet:
------------klip-------------------
<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("db/2000y.mdb")
Conn.Open DSN
' SQL sætning opbygges
strSQL = "Update Kontaktpersoner set "
strSQL = strSQL & "Fornavn= '" & Request.Form("Fornavn") & "', "
strSQL = strSQL & "Efternavn= '" & Request.Form("Efternavn") & "' "
strSQL = strSQL & "Where Id = '" & Request.Form("id") & "'"
' SQL sætning eksekveres
Conn.Execute(strSQL)
' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
<!--#include file="inc/head.asp"-->
<td width="80%" bgcolor="Gray" valign="top">
<!--indhold-->
<h1>Databasen er opdateret!</h1>
<!-- indhold end-->
</td>
</tr>
<!--#include file="inc/foot.asp"-->
------------klip-------------------
| |
Christian Estrup (17-06-2001)
| Kommentar Fra : Christian Estrup |
Dato : 17-06-01 07:03 |
|
Det lyder som om, feltet 'Id' i din database ikke er et tekstfelt, men et
tal (hvilket også er normalt). Derfor skal der ikke apostrof rundt om det,
du sammenligner med i dit WHERE-udtryk.
M.a.o. skal linjen:
strSQL = strSQL & "Where Id = '" & Request.Form("id") & "'"
- udskiftes med:
strSQL = strSQL & "Where Id = " & Request.Form("id")
- Chr
"Morten Raun" <mgr@mrtake.dk> wrote in message
news:3b2bf358$0$1532$ba624c82@nntp01.dk.telia.net...
> Hey NG
>
> Jeg er igang med at lave et opdaterings script med det formål at rette i
en
> brugerprofil. Jeg får følgende fejlmedelese nå jeg kører det:
>
> ------------klip-------------------
> Fejltype:
> Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
> [Microsoft][ODBC Microsoft Access-driver] Datatyperne stemmer ikke overens
i
> kriterieudtrykket.
> /2000y/indsaet.asp, line 17
>
> ------------klip-------------------
>
>
> Jeg kender ikke fejlen så jeg ved ikke hvad jeg skal gøre. I linie 17 står
> følgende: Conn.Execute(strSQL)
>
>
> Håber der er nogen der kan hjælpe mig.
>
> Venlig hilsen
>
> Morten Raun
>
>
>
> Ps. Dette er scriptet:
>
> ------------klip-------------------
>
> <%
> ' Databaseforbindelse - husk at angive sti til din database
> Set Conn = Server.CreateObject("ADODB.Connection")
> DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
> DSN = DSN & "DBQ=" & Server.MapPath ("db/2000y.mdb")
> Conn.Open DSN
>
>
> ' SQL sætning opbygges
> strSQL = "Update Kontaktpersoner set "
> strSQL = strSQL & "Fornavn= '" & Request.Form("Fornavn") & "', "
> strSQL = strSQL & "Efternavn= '" & Request.Form("Efternavn") & "' "
> strSQL = strSQL & "Where Id = '" & Request.Form("id") & "'"
>
>
> ' SQL sætning eksekveres
> Conn.Execute(strSQL)
>
> ' Luk databaseforbindelse
> Conn.Close
> Set Conn = Nothing
> %>
>
>
> <!--#include file="inc/head.asp"-->
>
> <td width="80%" bgcolor="Gray" valign="top">
> <!--indhold-->
>
>
> <h1>Databasen er opdateret!</h1>
>
>
> <!-- indhold end-->
>
> </td>
> </tr>
> <!--#include file="inc/foot.asp"-->
>
> ------------klip-------------------
>
>
>
| |
Morten Raun (18-06-2001)
| Kommentar Fra : Morten Raun |
Dato : 18-06-01 12:08 |
|
"Christian Estrup" wrote
> Det lyder som om, feltet 'Id' i din database ikke er et tekstfelt, men et
> tal (hvilket også er normalt). Derfor skal der ikke apostrof rundt om det,
> du sammenligner med i dit WHERE-udtryk.
Mange tak for hjælpen det var lige det der skulle til!
Morten Raun
| |
|
|