Jeg får at vide at der er en syntaksfejl i sætningen - men hvor er den??? Eller hvis det jeg har skrevet er helt grimt - hvordan skal det så skrives for at virke?
Fandt fejlen. Den burde jeg egenlig have set med det samme da jeg også selv har begået den. Du skriver By = Request.form("By"). Det kan ikke lade sig gøre. "By" er et reseveret ord. Skriv istedet City = Request.form("By")
Prøv at skrive din SQL-streng ud, så opdager du sikkert hvor fejlen er. Eller så post udskriften her. Derudover skal du huske at udskifte ' med dobbelt ' . Følgende er nyttig
Function MakeSQLString(strSQL) strSQL=Trim(strSQL) strSQL=Replace(strSQL,"'","''") MakeSQLString="'" & strSQL & "'" End Function
entra > Det er jo i grunden klart nok :o) Tak skal du ha' men nu får jeg altså følgende fejlmelding : Microsoft OLE DB Provider for ODBC Drivers fejl '80040e14'
[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket "01-02-02 17:33:54".
altså er der noget galt med min variabel Timenow = Now() ???
Der skal ' rundt om datoen. Access bruger nogle gange # rundt om datoer, men standarden sige '. Er Godkendt defineret som en streng eller som en boolean i databasen. Hvis det er en streng skal der ' om, som der er nu. Hvis det er en boolean skal der ikke, men jeg ville nok sørge for at den skrev True/False i stedet for Sand/Falsk.
Synes godt om
Slettet bruger
03. februar 2002 - 12:26#31
soren > OK - prøver lige det med datoen... Godkendt er sat til Ja/Nej i db'en. Min variabel Godkendt er sat til False og ikke falsk, men det må være fordi det er dansk PWS og Dansk Access....
Synes godt om
Slettet bruger
03. februar 2002 - 12:32#32
Får nu "Der er for få parametre. Der var ventet 1. Grrrrrrrrrrrrrr
Synes godt om
Slettet bruger
03. februar 2002 - 12:40#33
Soren > Hvad i al verden kan der være galt med den :
********************************** INSERT INTO tbl_users (Brugernavn, Password, Email, Navn, Adresse, Postnummer, Bynavn, Telefonnummer, PID, Timenow, Godkendt) VALUES ('John Doe', 'Doe', 'doe@doe.dk', 'John Doe', 'Sunset Boulevard 20', 0000, 'Hollywood', 00000000, 'QkGLdlo457', '03-02-02 12:44:14', Falsk) Microsoft OLE DB Provider for ODBC Drivers fejl '80040e10'
[Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var ventet 1. ********************************** Og i db'en er flg felter ID (Autonum) Brugernavn (Tekst) Password (Tekst) Email (Tekst) Navn (Tekst) Adresse (Tekst) Postnummer (Tal) Bynavn (Tekst) Telefonnummer (Tal) PID (Tekst) Timenow (Dato og klokkeslæt) Godkendt (Ja/Nej)
Jeg har prøvet din SQL-sætning af direkte i en forespørgsel i en database med en tabel magen til din og det forløber fint. Derfor tror jeg ikke det er din SQL-sætning det er noget i vejen med. Hvad linienummer opstår fejlen på. Post den linie her plus et par linierne før og efter.
Synes godt om
Slettet bruger
03. februar 2002 - 18:09#35
soren > Jeg tror nu alligevel det er i SQL'en at det går galt for den fejlen ligger i linie 111 som er der hvor SQL'en eksekveres - Conn.execute(SQL) Jeg får følgende fejl :
INSERT INTO tbl_users (Brugernavn, Password, Email, Navn, Adresse, Postnummer, Bynavn, Telefonnummer, PID, Timenow, Godkendt) VALUES ('John Doe', 'Doe', 'doe@doe.com', 'John', 'Solitudevej 30', 0000, 'Månen', 00457812, 'fwSXp9B679', '03-02-02 17:58:06', Falsk) Microsoft OLE DB Provider for ODBC Drivers fejl '80040e10'
[Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var ventet 1.
/www/opret.asp, linje 111
Linierne før ser således ud: ***************************************** Function MakePassword(intAntaltegn) Dim intChooser,x,intWildChar, strpassword
For x = 1 To intAntalTegn Randomize intChooser = Int(Rnd * 2) + 1 Select Case intChooser Case 1 intWildChar = Int(Rnd * 57) + 65 If intWildChar => 91 And intWildChar <= 96 Then intWildChar = intWildChar + 8 End If strPassword = strPassword & Chr(intWildChar) Case Else intWildChar = Int(Rnd * 9) + 1 strPassword = strPassword & intWildChar End Select Next MakePassword = strPassword End Function
Nej. Hvis du ser på den færdige SQL-streng så ser den således ud i slutningen: .... 'fwSXp9B679', '03-02-02 17:58:06', Falsk) Men den forstår ikke hvad "Falsk" betyder. I stedet for skal der stå .... , 'fwSXp9B679', '03-02-02 17:58:06', False)
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.