Avatar billede area404 Nybegynder
08. januar 2003 - 23:58 Der er 6 kommentarer

Hmm.. request.form, virker ikke!

Hvorfor virker dette ikke? jeg kan ikke finde fejlen :(
<%
' Databaseforbindelse
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/db/db.mdb")
Conn.Open DSN

' SQL tilføjer data til brugere tabelen
strSQL = "Insert into brugere (brugerNavn, brugerKode, brugerMail, brugerFornavn, brugerEfternavn, brugerAlder, brugerAdresse, brugerBy, brugerLandsdel, brugerICQ, brugerHjemmeside, brugerFodselsdato, brugerOprettet, brugerSidstset, brugerFritekst) "
strSQL = strSQL & " values ('" & Request.Form("brugerNavn") & "',"
strSQL = strSQL & "'" & Request.Form("brugerKode") & "', "
strSQL = strSQL & "'" & Request.Form("brugerMail") & "', "
strSQL = strSQL & "'" & Request.Form("brugerFornavn") & "', "
strSQL = strSQL & "'" & Request.Form("brugerEfternavn") & "', "
strSQL = strSQL & "'" & Request.Form("brugerAlder") & "', "
strSQL = strSQL & "'" & Request.Form("brugerAdresse") & "', "
strSQL = strSQL & "'" & Request.Form("brugerBy") & "', "
strSQL = strSQL & "'" & Request.Form("brugerLandsdel") & "', "
strSQL = strSQL & "'" & Request.Form("brugerICQ") & "', "
strSQL = strSQL & "'" & Request.Form("brugerHjemmeside") & "', "
strSQL = strSQL & "'" & Request.Form("brugerFodselsdato") & "', "
strSQL = strSQL & "'" & Now & "', "
strSQL = strSQL & "'" & Now & "', "
strSQL = strSQL & "'" & Request.Form("brugerFritekst") & "')"


'Udfør SQL sætningen.
    Conn.Execute(strSQL)


' Luk databaseforbindelse
    Conn.Close
    Set Conn = Nothing

%>

Ron
Avatar billede area404 Nybegynder
09. januar 2003 - 00:02 #1
Jeg for denne fejl:
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
/oprettet.asp, line 32
Avatar billede bredum Nybegynder
09. januar 2003 - 08:26 #2
1. prøv at tjekke dine felt navne i DB'en
2.Udskriv din SQL response.write strSQL og se hvad den giver af indput
Avatar billede niceday Nybegynder
09. januar 2003 - 09:36 #3
Nej, det der er galt er at du forsøger at indsætte noget data i et felt, som ikke er defineret til at modtage i dette format.

F.eks. hvis du indsætter tekst i et felt, som er defineret til at indholde et tal. Tjek hvilke datatyper du indsætter i forhold til de datatyper felterne er defineret til.
Avatar billede eagleeye Praktikant
09. januar 2003 - 12:51 #4
Når du bruger Access skal der ikke pinger ' omkring i SQLen hvis det er tal. Eks hvis alder er et tal så skal den linie med alder i SQL sætningen se sådan her ud:

strSQL = strSQL & "" & Request.Form("brugerAlder") & ", "
Avatar billede eagleeye Praktikant
09. januar 2003 - 12:54 #5
Hvis de to felter brugerOprettet, brugerSidstset, er defineret som dato/kokkeslet i databasen skal der # omkring og SQL bruger dato US/UK formatet yyyy-mm-dd eller mm-dd-yyyy så DK datoer vil blive tolket forkert.


Ved de to  brugerOprettet, brugerSidstset,  kan du når du bruger Now bruge den now som findes i databasen, så ret disse to:

strSQL = strSQL & "'" & Now & "', "
strSQL = strSQL & "'" & Now & "', "


Til:

strSQL = strSQL & "Now(), "
strSQL = strSQL & "Now(), "
Avatar billede eagleeye Praktikant
09. januar 2003 - 12:54 #6
Hvis du stadig får fejlen så prøv at skrive hilken type hver enkelt kolonne er.
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