Avatar billede krustytk Nybegynder
17. september 2003 - 10:05 Der er 5 kommentarer og
1 løsning

Endnu en data type mismatch in criteria expression.

ER rimlig newbie til asp! sidder bare og leger lidt med det! jeg prøver at få en form til at skrive navn adr. telefon nummer og fødseldato til en access database men den vil sq ikke helt! i får lige koden!

<%
' 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/database.mdb")
Conn.Open DSN

' SQL sætning opbygges
strSQL = "Insert into personer ("

strSQL = strSQL & "Fornavn, "
strSQL = strSQL & "Efternavn, "
strSQL = strSQL & "Telefon, "
strSQL = strSQL & "Foedselsdato)"

strSQL = strSQL & "values( "

strSQL = strSQL & "'" & Request.Form("1Fornavn") & "', "
strSQL = strSQL & "'" & Request.Form("1Efternavn") & "', "
strSQL = strSQL & "'" & Request.Form("1Telefon") & "', "
strSQL = strSQL & "'" & Request.Form("#1Dato#") & "') "

' SQL sætning eksekveres
Conn.Execute(strSQL)

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
-----------------------------------------------------------
og fejlen :

Technical Information (for support personnel)

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
/indater.asp, line 29


Browser Type:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)

Page:
POST 74 bytes to /indater.asp

POST Data:
1Fornavn=Christian&1Efternavn=Anderskov&1Telefon=12345655&1dato=17-12-1983

Time:
Wednesday, September 17, 2003, 9:53:28 AM
Avatar billede zogu Nybegynder
17. september 2003 - 10:09 #1
<%
' 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/database.mdb")
Conn.Open DSN

' SQL sætning opbygges
strSQL = "Insert into personer ("

strSQL = strSQL & "Fornavn, "
strSQL = strSQL & "Efternavn, "
strSQL = strSQL & "Telefon, "
strSQL = strSQL & "Foedselsdato)"

strSQL = strSQL & "values( "

strSQL = strSQL & "'" & Request.Form("1Fornavn") & "', "
strSQL = strSQL & "'" & Request.Form("1Efternavn") & "', "
strSQL = strSQL & "'" & Request.Form("1Telefon") & "', "
strSQL = strSQL & "#" & Request.Form("1Dato") & "#) "

' SQL sætning eksekveres
Conn.Execute(strSQL)

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
-----------------------------------------------------------

Prøv den her :
strSQL = strSQL & "#" & Request.Form("1Dato") & "#) "

Dato er ikke en string men en dato og skal have # om sig og ikke '

:)
Avatar billede zogu Nybegynder
17. september 2003 - 10:10 #2
og lige et svar
Avatar billede krustytk Nybegynder
17. september 2003 - 10:18 #3
Ej hvor er det snyd! ;) nu har jeg siddet igår eftermiddags og idag og kigget og kigget.. og søg og søgt! og så er det sådan en latterlig lille fejl... nå fair nok kan du hjælpe mig med noget andet? hvis jeg i min form i fødseldato-feltet skriver 00-00-0000 el. 99-99-9999 får jeg en fejl! kan jeg stoppe det rimlig simpelt?

fejlen: Syntax error in date in query expression '#00-00-0000#'.
Avatar billede zogu Nybegynder
17. september 2003 - 10:20 #4
øjeblik
Avatar billede zogu Nybegynder
17. september 2003 - 10:25 #5
Du kan bruge funktionen isDate()

Dim Fdato
Fdato = Request.Form("1Dato")

if isDate(Fdato) then
  strSQL = strSQL & "#" & FDato & "#) "
else
  strSQL = strSQL & "Null)"
end if

placeres istedet for linien

  strSQL = strSQL & "#" & Request.Form("1Dato") & "#) "
Avatar billede krustytk Nybegynder
17. september 2003 - 10:30 #6
ok tak for hjælpen.
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
Kurser inden for grundlæggende programmering

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