Skriv ut den färdiga SQL-frågan så kan du säkert se vad som är felet med syntaxen.
Nu sitter jag här på morrgonkvisten med ett roligt fel för alla asp gurus att bråka med.
Jag försöker lägga till ett antal rader i en databas, mysql för att vara exakt. Med följande sql query
insert into tbl_da (da_ratt, da_datum, da_rest) VALUES ('Funkar denna nu?', '2005-5-16', 1)
Men har provat med alla möjliga olika kombinationer med hakparanteser osv.
da_ratt är ett textfält
da_datum är datum(;))
da_rest är ett int tal
Set Conn2 = Server.CreateObject("ADODB.Connection")
Conn2.Open application("matsedel")
'Loopa igenom alla dagar och sätt in i databasen
for n = 0 To 6
if request.form(myArray(n) & "Hidden") = 1 then
'sql = "INSERT INTO tbl_dag (da_ratt, da_datum, da_rest) VALUES ('" & request.form(myArray(n) & "dag") & "', '" & DatePart("yyyy", getDateFromWeek(request.form("vecka"), request.form("Ar"), n+1)) & "-" & DatePart("m", getDateFromWeek(request.form("vecka"), request.form("Ar"), n+1)) & "-" & DatePart("d", getDateFromWeek(request.form("vecka"), request.form("Ar"), n+1)) & "', 1)"
sql = "insert into tbl_dag (da_ratt, da_datum, da_rest) values ('Ratt', '2005-01-02', 1)"
conn2.Excecute(sql)
Error = "Du har lagt till en ny vecka i databasen"
end if
Next
Det är loopen som ska sätta in värden i databasen. Har även provat andra sortes loopar än bara for.
Nu kommer jag till det som är konstigt.
Lägger jag insert koden (conn2.Execute) utanför loopen så funkar det hur bra som helst.
Felet:
[MySQL][ODBC 3.51 Driver][mysqld-4.0.20a-debug]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 '{ call Excecute('insert into `tbl_dag` ([da_ratt], [da_datum],
