14. oktober 2002 - 13:13
Der er
11 kommentarer og 1 løsning
Drivers error '80040e10'
Fejlen: Microsoft OLE DB Provider for ODBC Drivers error '80040e10' [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1. /3SEM04/opret_bruger.asp, line 61 Koden(line 61): conn.Execute("INSERT INTO brugere VALUES ("+nytnr+",'"+bnavn+"','"+pass+"','"+navn+"','"+aka+"',"+alder+",'"+aktiv+"')");
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
14. oktober 2002 - 13:18
#1
conn.Execute("INSERT INTO brugere VALUES ("+nytnr+",'"+bnavn+"','"+pass+"','"+navn+"','"+aka+"','"+alder+"','"+aktiv+"')"); Prøv med denne! //>Rune
14. oktober 2002 - 13:23
#2
Så får jeg denne: Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression. /3SEM04/opret_bruger.asp, line 61
14. oktober 2002 - 14:17
#3
De kolonner som er defineret som tal skal der ikke ' omkring SQL sætnignen. Det skal der kun hvis kolonnen er defienret som tekst/notat felt. Så eksvis hvis alder er et tal skal det være sådan her: conn.Execute("INSERT INTO brugere VALUES ("+nytnr+",'"+bnavn+"','"+pass+"','"+navn+"','"+aka+"',"+alder+",'"+aktiv+"')");
14. oktober 2002 - 14:20
#4
nytnr er det autonummer i din database??
14. oktober 2002 - 14:26
#5
jeg har et script der tæller (nyt)nr en op nr og alder er tal i DB, resten er tekst, så hvad det angår er SQL'en rigtig nok
14. oktober 2002 - 15:49
#6
Prøv at udskrive din SQL sætning i stedet for at execute den.. Det kunne tyde på en af variablen var tomme: response.write "INSERT INTO brugere VALUES ("+nytnr+",'"+bnavn+"','"+pass+"','"+navn+"','"+aka+"',"+alder+",'"+aktiv+"')"
14. oktober 2002 - 16:26
#7
eagleeye>> det har du ret i. du får lige koden, for jeg kan ikke lige umiddelbart gennemskue hvordan jeg lige fikser den: <% bnavn = Request.Form("email").item; pass = Request.Form("password").item; navn = Request.Form("navn").item; aka = Request.Form("screenname").item; alder = Request.Form("alder").item; aktiv = "nej"; Session("bnavn")= bnavn; Session.Timeout = 10; Session("pass")= pass; Session.Timeout = 10; Session("navn")= navn; Session.Timeout = 10; Session("aka")= aka; Session.Timeout = 10; Session("alder")= alder; conn = Server.CreateObject("ADODB.Connection"); DBPath = "DBQ=" + Server.mappath("ASP.mdb"); conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; " + DBPath); rs3 = conn.Execute("SELECT brugernavn FROM brugere WHERE brugernavn = '"+bnavn+"'"); if(!rs3.EOF){ Response.redirect("opret_bruger_form.asp?fejl=mail"); } rs3.Close(); rs4 = conn.Execute("SELECT aka FROM brugere WHERE aka = '"+aka+"'"); if(!rs4.EOF){ Response.redirect("opret_bruger_form.asp?fejl=aka"); } rs4.Close(); godkend = Request.Querystring("godkend"); if(godkend == "true") { Application.Lock(); rs1 = conn.Execute("SELECT MAX(nr)AS x FROM brugere"); if(!rs1.EOF){ nr = rs1.Fields("x"); nytnr = nr + 1; } rs1.Close(); conn.Execute("INSERT INTO brugere VALUES("+nytnr+",'"+bnavn+"','"+pass+"','"+navn+"','"+aka+"',"+alder+",'"+aktiv+"')"); Application.Unlock(); rs2 = conn.Execute("SELECT * FROM brugere WHERE nr = "+nytnr);
14. oktober 2002 - 16:59
#8
Hvilken har forkert/ingen værid af nytnr, bnavn, pass, navn, aka, alder, aktiv ???
14. oktober 2002 - 17:05
#9
alle på nær nytnr og aktiv
14. oktober 2002 - 17:07
#10
Prøv at rette alle disse fra bnavn = Request.Form("email").item; Til bnavn = Request.Form("email").value;
14. oktober 2002 - 17:07
#11
Eller måske bare sådan her: bnavn = Request.Form("email");
14. oktober 2002 - 17:38
#12
det hjælper ikke - så bliver sessionerne tomme laver det bare på an anden måde hvis der ikke er nogen der kan hjælpe... Ellers tak
Kurser inden for grundlæggende programmering