Avatar billede w13 Novice
03. oktober 2005 - 18:29 Der er 19 kommentarer og
1 løsning

Fejl ved INSERT i database på B-one-server

Hej Eksperter...

Jeg har et problem i en ellers simpel ASP-kode, som jeg lægger ud på en server hos B-one. Deres server er åbenbart meget kræsen mht. syntax og lignende. Koden er følgende:

---------------------------
Set objRS = Server.CreateObject("ADODB.Recordset")
Set objConn = Server.CreateObject("ADODB.Connection")

objConn.ConnectionString="DRIVER={MySQL};SERVER=localhost;DATABASE=domæne_dk;UID=domæne_dk;PWD=password;"
objConn.Open

strSQL = "INSERT SET navn='" & Request.Form("navn") & "',adresse='" & Request.Form("adresse") & "',postnr='" & Request.Form("postnr") & "',by='" & Request.Form("by") & "',telefonnr='" & Request.Form("telefonnr") & "',mobilnr='" & Request.Form("mobilnr") & "',email='" & Request.Form("strPartnerEmail") & "',password='" & strPartnerPassword & "',nyhedsbrev='" & Request.Form("nyhedsbrev") & "',oprettet='" & Date() & "' INTO user"

Set objRS = objConn.Execute(strSQL)

objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
---------------------------

Og fejlen er:

---------------------------
Error Type:
ADODB.Connection.1 (0x80004005)
SQLState: 4 Native Error Code: 1064 [TCX][MyODBC]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET navn='Tobias Jensen',adresse='Holmebuen 3',postnr='2690',by
---------------------------

Håber, I kan hjælpe mig.

Venlig hilsen
W13
Avatar billede inglenook Praktikant
03. oktober 2005 - 18:45 #1
den rigtige syntax er:
INSERT INTO user values(value1, value2, value3)
Avatar billede inglenook Praktikant
03. oktober 2005 - 18:47 #2
eller:
INSERT INTO user(felt1, felt2, felt3) VALUES(value1, value2, value3)
Avatar billede w13 Novice
03. oktober 2005 - 19:04 #3
Stadig fejl:

---------------------------

Error Type:
ADODB.Connection.1 (0x80004005)
SQLState: 4 Native Error Code: 1064 [TCX][MyODBC]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'by,telefonnr,mobilnr,email,password,nyhedsbrev,oprettet) VALUES
Avatar billede softspot Forsker
03. oktober 2005 - 19:20 #4
by er sikkert reserveret som i rigtig mange andre DBMS'er, så det kan være at du kan komme videre ved at sætte [] omkring by:

strSQL = "INSERT INTO user(navn,adresse,postnr,[by],telefonnr,mobilnr,email,password,nyhedsbrev,oprettet) " & _
"VALUES(" & _
" '" & Request.Form("navn") & "'" & _
",'" & Request.Form("adresse") & "'" & _
",'" & Request.Form("postnr") & "'" & _
",'" & Request.Form("by") & "'" & _
",'" & Request.Form("telefonnr") & "'" & _
",'" & Request.Form("mobilnr") & "'" & _
",'" & Request.Form("strPartnerEmail") & "'" & _
",'" & strPartnerPassword & "'" & _
",'" & Request.Form("nyhedsbrev") & "'" & _
",'" & Date() & "')"
Avatar billede w13 Novice
03. oktober 2005 - 19:35 #5
Prøvede først med by, derefter også med password... nu har alle de ord [] omkring... og fejlen er næsten den samme:

---------------------------

Error Type:
ADODB.Connection.1 (0x80004005)
SQLState: 4 Native Error Code: 1064 [TCX][MyODBC]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'user([navn],[adresse],[postnr],[by],[telefonnr],[mobilnr],[emai
Avatar billede ksoren Nybegynder
03. oktober 2005 - 19:36 #6
Da det er mysql, så prøv med `` i stedet for []
Avatar billede w13 Novice
03. oktober 2005 - 19:41 #7
Den bli'r ved :-(

---------------------------

Error Type:
ADODB.Connection.1 (0x80004005)
SQLState: 4 Native Error Code: 1064 [TCX][MyODBC]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'user(`navn`,`adresse`,`postnr`,`by`,`telefonnr`,`mobilnr`,`emai

---------------------------

Koden:

---------------------------

Set objRS = Server.CreateObject("ADODB.Recordset")
Set objConn = Server.CreateObject("ADODB.Connection")

objConn.ConnectionString="DRIVER=

{MySQL};SERVER=localhost;DATABASE=websponsor_dk;UID=websponsor_dk;PWD=pWRYYYVS;"
objConn.Open

strSQL = "INSERT INTO user

(`navn`,`adresse`,`postnr`,`by`,`telefonnr`,`mobilnr`,`email`,`password`,`nyhedsbrev`,`oprett

et`) VALUES('" & Request.Form("navn") & "','" & Request.Form("adresse") & "','" &

Request.Form("postnr") & "','" & Request.Form("by") & "','" & Request.Form("telefonnr") &

"','" & Request.Form("mobilnr") & "','" & Request.Form("strPartnerEmail") & "','" &

strPartnerPassword & "','" & Request.Form("nyhedsbrev") & "','" & Date() & "')"
Set objRS = objConn.Execute(strSQL)

objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
Avatar billede w13 Novice
03. oktober 2005 - 19:41 #8
Hva' hulen ka' der være galt?
Avatar billede ksoren Nybegynder
03. oktober 2005 - 19:43 #9
Avatar billede w13 Novice
03. oktober 2005 - 19:45 #10
Har også prøvet at sætte det om det... præcis samme fejl...
Avatar billede inglenook Praktikant
03. oktober 2005 - 20:32 #11
maaske er det bare min skaerm, men det ser ud til du bruger ` istedet for ' (ved ikke lige hvor det sidder paa et dansk tastatur....)
Avatar billede inglenook Praktikant
03. oktober 2005 - 20:34 #12
sorry, my mistake. Glem min sidste kommentar....
Avatar billede inglenook Praktikant
03. oktober 2005 - 20:37 #13
hov, den siger fejl ved tabellens navn. Er du sikker paa tabellen hedder user ?
Avatar billede w13 Novice
03. oktober 2005 - 20:48 #14
Ja, det hedder den.

Og der var intet galt i at skrive ` eller hva'? =)
Avatar billede inglenook Praktikant
03. oktober 2005 - 20:52 #15
hmm, har ikk' arbejdet meget med MySQL, men proev mit foerste forslag i stedet:
INSERT INTO user VALUES(value1, value2, value3)
Hva' siger den saa ?
Avatar billede w13 Novice
03. oktober 2005 - 21:07 #16
Hvordan ved den så, i hvilken kolonne f.eks. Value 1 skal placeres? Er det bare i rækkefølge?
Avatar billede inglenook Praktikant
03. oktober 2005 - 21:12 #17
soerg for at hvis feks. din tabel indeholder foelgende felter:
Navn    Adresse    PostNummer
at du indsaetter i rigtig raekkefoelge:
INSERT INTO user VALUES('Data Basen', '48 Copenhagen Road', 4800)
Avatar billede w13 Novice
03. oktober 2005 - 21:33 #18
Og hvad med ID som er det første felt, der automatisk udfyldes? Skal jeg bare ignorere det?
Avatar billede inglenook Praktikant
03. oktober 2005 - 21:36 #19
tja, det mener jeg hvis det er automatisk udfyldt
Avatar billede w13 Novice
17. december 2005 - 17:20 #20
nå, det er vist på tide at lukke.
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