så här ser syntaxen för update ut:
UPDATE tblTableName SET fldFieldName = value, fldFieldName2 = value2, fldFieldName3 = value3 WHERE fldFieldName4 = value4
komma här och blanda in insert-syntax...
17 svar · 283 visningar · startad av Hallgren
Hur mycket av den här koden kommer jag att ha kvar efter ni har attackerat den?
Make it work!
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\inetpub\wwwroot\rhodos\info.mdb"
man1 = (request.form("man1"))
man2 = (request.form("man2"))
tis1 = (request.form("tis1"))
tis2 = (request.form("tis2"))
ons1 = (request.form("ons1"))
ons2 = (request.form("ons2"))
tor1 = (request.form("tor1"))
tor2 = (request.form("tor2"))
fre1 = (request.form("fre1"))
fre2 = (request.form("fre2"))
SQL = "UPDATE meny Set (man1, man2, tis1, tis2, ons1, ons2, tor1, tor2, fre1, fre2) values ('" & man1 & "', '" & man2 & "', '" & tis1 & "', '" & tis2 & "', '" & ons1 & "', '" & ons2 & "', '" & tor1 & "', '" & tor2 & "', '" & fre1 & "', '" & fre2 & "')"
SQL = SQL & " where post = " & id = 1
databas.Execute(SQL)
%>
så här ser syntaxen för update ut:
UPDATE tblTableName SET fldFieldName = value, fldFieldName2 = value2, fldFieldName3 = value3 WHERE fldFieldName4 = value4
komma här och blanda in insert-syntax...
För att vara ärlig så to g jag bara en gissning.
har gått igenom fler inlägg här på wF om just update, men kan bara inte rikigt fatta hur i *piiiip* det funkar.
fldFieldName2 fattar jag men value(?) och det som står efter WHERE.
Krävs det ingen request.form alls?
Hej!
Frågan är vad du vill göra, du använder en INSERT struktur till en UPDATE, En UPDATE är uppbyggd enligt:
UPDATE tabell SET fälnamn = ett_värde, fältnamn2 = värde2 WHERE Någonting = Något annat
Jag hade skrivit:
'" & Trim(request.form("man1")) & "'
direkt i updaten utan att göra om den innan. Många vill dimma resultatet från formuläret innan och lägga det i en variabel som man sedan sätter in i updaten.
mvh Jörgen
Av den här koden får jag ialla fall inte någon felmedelande men dbn uppdateras inte.
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\inetpub\wwwroot\rhodos\info.mdb"
man1 = Trim(Request.Form("man1"))
man2 = Trim(Request.Form("man2"))
tis1 = Trim(Request.Form("tis1"))
tis2 = Trim(Request.Form("tis2"))
ons1 = Trim(Request.Form("ons1"))
ons2 = Trim(Request.Form("ons2"))
tor1 = Trim(Request.Form("tor1"))
tor2 = Trim(Request.Form("tor2"))
fre1 = Trim(Request.Form("fre1"))
fre2 = Trim(Request.Form("fre2"))
SQL = "UPDATE meny"
SQL = SQL & "(man1, man2, tis1, tis2, ons1, ons2, tor1, tor2, fre1, fre2)"
SQL = SQL & "VALUES ('" & man1 & "', '" & man2 & "', '" & tis1 & "', '" & tis2 & "', '" & ons1 & "', '" & ons2 & "', '" & tor1 & "', '" & tor2 & "', '" & fre1 & "', '" & fre2 & "')"
SQL = SQL & "where id=" & Request("id")
%>
Om du menar så här så är det fel.
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\inetpub\wwwroot\rhodos\info.mdb"
man1 = Trim(Request.Form("man1"))
man2 = Trim(Request.Form("man2"))
tis1 = Trim(Request.Form("tis1"))
tis2 = Trim(Request.Form("tis2"))
ons1 = Trim(Request.Form("ons1"))
ons2 = Trim(Request.Form("ons2"))
tor1 = Trim(Request.Form("tor1"))
tor2 = Trim(Request.Form("tor2"))
fre1 = Trim(Request.Form("fre1"))
fre2 = Trim(Request.Form("fre2"))
SQL = "UPDATE meny"
SQL = SQL & "(man1, man2, tis1, tis2, ons1, ons2, tor1, tor2, fre1, fre2)"
SQL = SQL & "VALUES ('" & man1 & "', '" & man2 & "', '" & tis1 & "', '" & tis2 & "', '" & ons1 & "', '" & ons2 & "', '" & tor1 & "', '" & tor2 & "', '" & fre1 & "', '" & fre2 & "')"
SQL = SQL & "where id=" & Request("id")
Connect.Execute(SQL)
%>
Får Syntax error in UPDATE statement
din sql-fråga är felaktig i syntax, som jag skrev i mitt första inlägg i den här tråden.
skriv om frågan enligt den jag gav ovan, och prova igen.
mvh,
Varför känns det som om alla säger olika?
alla säger ju inte olika. jag och jorgen är skrämmande överens, och vide har bara inte vaknat än.
Så här då.
Skriver om...
SQL = "UPDATE meny"
och tar bort..
SQL = SQL & "(man1, man2, tis1, tis2, ons1, ons2, tor1, tor2, fre1, fre2)"
SQL = SQL & "VALUES ('" & man1 & "', '" & man2 & "', '" & tis1 & "', '" & tis2 & "', '" & ons1 & "', '" & ons2 & "', '" & tor1 & "', '" & tor2 & "', '" & fre1 & "', '" & fre2 & "')"
SQL = SQL & "where id=" & Request("id")
eller...?
Uh?
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\inetpub\wwwroot\rhodos\info.mdb"
man1 = Trim(Request.Form("man1"))
man2 = Trim(Request.Form("man2"))
tis1 = Trim(Request.Form("tis1"))
tis2 = Trim(Request.Form("tis2"))
ons1 = Trim(Request.Form("ons1"))
ons2 = Trim(Request.Form("ons2"))
tor1 = Trim(Request.Form("tor1"))
tor2 = Trim(Request.Form("tor2"))
fre1 = Trim(Request.Form("fre1"))
fre2 = Trim(Request.Form("fre2"))
SQL = "update meny set man1 = '" & man1 & "', man2 = '" & man2 & "', tis1 = '" & tis1 "', tis2 = '" & tis2 "', ons1 = '" & ons1 "', ons2 = '" & ons2 "', tor1 = '" & tor1 "', tor2 = '" & tor2"', fre1 = '" & fre1"', fre2 = '" & fre2"' & where id=" & Request("id")
"'"
Connect.Execute(SQL)
%>
Du blandar ihop som alla sagt.
Om du ska köra en INSERT:
SQL = "INSERT INTO tabell (kolumner, kolumner) VALUES('"&värde&"', '"&värde&"')"
Om ska köra en UPDATE:
SQL = "UPDATE tabell SET kolumn = '"&värde&"', kolumn = '"&värde&"' WHERE id = "&id&" "
nästan.
du har snubblat lite och tappat en massa &-tecken..
SQL = "update meny set man1 = '" & man1 & "', man2 = '" & man2 & "', tis1 = '" & tis1 & "', tis2 = '" & tis2 & "', ons1 = '" & ons1 & "', ons2 = '" & ons2 & "', tor1 = '" & tor1 & "', tor2 = '" & tor2 & "', fre1 = '" & fre1 & "', fre2 = '" & fre2 & "' where id=" & Request("id")
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\inetpub\wwwroot\rhodos\info.mdb"
man1 = Trim(Request.Form("man1"))
man2 = Trim(Request.Form("man2"))
tis1 = Trim(Request.Form("tis1"))
tis2 = Trim(Request.Form("tis2"))
ons1 = Trim(Request.Form("ons1"))
ons2 = Trim(Request.Form("ons2"))
tor1 = Trim(Request.Form("tor1"))
tor2 = Trim(Request.Form("tor2"))
fre1 = Trim(Request.Form("fre1"))
fre2 = Trim(Request.Form("fre2"))
SQL = "update meny set man1 = '" & man1 & "', man2 = '" & man2 & "', tis1 = '" & tis1 & "', tis2 = '" & tis2 & "', ons1 = '" & ons1 & "', ons2 = '" & ons2 & "', tor1 = '" & tor1 & "', tor2 = '" & tor2 & "', fre1 = '" & fre1 & "', fre2 = '" & fre2 & "' where id=" & Request("id")
Connect.Execute(SQL)
%>
Ser bra ut... och jag har visst vaknat, i koden ovan mitt inlägg fanns ingen execute, därav mitt inlägg...
Allt funkar fint nu!
Vill bara tacka de som offrade sin lediga tid på den här lördagen för att häjlpa mig. Ett extra tack går ut till @nders!
Tack!