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?
AI bliver først for alvor en del af arbejdet, når teknologien integreres i den måde, vi arbejder på. At have adgang til AI betyder ikke nødvendigvis, at medarbejderne er klar til at bruge den.
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.