Tjena!
Har fått hjärnsläpp.
Har skapat en "ändra sida" i asp. Där ska jag kunna gå in och ändra/lägga till inlägg.
Först listar jag alla poster som jag ska kunna editera.
För varje post i databasen finns en "ändra" knapp(SUBMIT).
Hur gör jag för att uppdatera databasen.
Har en kod som ser ut såhär:
<%strSQL = "UPDATE * INTO tbl_analys WHERE id = '"&request.form("ID")&"'"
Set oRS = oConn.Execute(strSQL)
%>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<% Response.redirect("visaanalys.asp")%>
Vad gör jag för fel?
En updatesträng ser ut enligt följande: :)
strsql = "Update Tabell Set Kolumn1 = " & nytt_värde & ", " & _
"Kolumn2 = " & nytt_värde & " Where id_kolumn = " & id_värde & " ;"
Funkar inte ändå.
Har nu skrivit in följande kod:
<%strSQL = "UPDATE tbl_analys SET rubrik = '"& Request.form("rubrik") &"' WHERE id = '"& request.form("ID") &"'"
@ndersMedlem sedan juni 200032 969 inlägg Ange alltid felmeddelande.
Får man gissa på en type mismatch? I så fall:
strSQL = "UPDATE tbl_analys SET rubrik = '"& Request.form("rubrik") &"' WHERE id = "& request.form("ID")
Inga apostrofer runt värdet om datatypen på fältet är tal/räknare, vilket jag gissar att ID är.
Mvh,
Har provat igen
Skrev nu
strSQL="UPDATE tbl_analys SET rubrik = '"& Request.form("rubrik") &"' WHERE id = "& Request.form(id) &" "
Set oRS = oConn.Execute(strSQL)
<body>
<% Response.redirect("visaanalys.asp")%>
men får bara "The page cannot be displayed" och den
går inte vidare till visaanalys.asp
@ndersMedlem sedan juni 200032 969 inlägg Det verkar som att du har Friendly Error Messages / Egna HTTP-felmeddelanden påslagna i din browser. Stäng av, och du får ordentliga felmeddelanden.
Mvh,
Då får jag felmeddelande:
Expecting string input
/alkvetternsik/changeanalys.asp, line 17
The function expects a string as input
Det här fungerar nog lite bättre:
strSQL="UPDATE tbl_analys SET rubrik = '"& Request.form("rubrik") &"' WHERE id = "& Request.form(id)
Set oRS = oConn.Execute(strSQL)
Kopierade in din kod men fick fortfarande samma felmeddelande
/mathias
Rad 17 är :
strSQL="UPDATE tbl_analys SET rubrik = '"& Request.form("rubrik") &"' WHERE ID = "& Request.form(id)
@ndersMedlem sedan juni 200032 969 inlägg Ok. Jag tror du missuppfattade lite vad jag skrev förut om apostrofer och räknar- /talvärden.
strSQL="UPDATE tbl_analys SET rubrik = '"& Request.form("rubrik") &"' WHERE ID = "& Request.form[b]("id")[/b]
Du måste fortfarande i din Request använda citationstecken runt namnet på det formulärfält du vill hämta in.
Mvh,
DinoMedlem sedan sep. 20011 914 inlägg Det är inte så att id är ett tal eller räknare. I sådana fall
strSQL="UPDATE tbl_analys SET rubrik = '"& Request.form("rubrik") &"' WHERE ID = ("& Request.form("id") &")"
@ndersMedlem sedan juni 200032 969 inlägg Dino, varför har du lagt in en parentes runt värdet på ID?
crisse6Medlem sedan dec. 20002 526 inlägg strSQL="UPDATE tbl_analys SET rubrik = '"& Request.form("rubrik") &"' WHERE ID = "& Request.form("id") &""
ser inget annat fel! Forstod inte heller Dino's kod... kanske ratt, men forklara! :D
DinoMedlem sedan sep. 20011 914 inlägg Fick lära mig att tal skulle vara inom parentes, men har senare fått reda på att det inte behövs. Men nu är det mest vana som gör att jag skriver på det sättet. Om det är rätt eller fel, det får någon annan avgöra. :)
Alkvettern, hittade du felet?
@ndersMedlem sedan juni 200032 969 inlägg Det är inte fel, men totalt onödigt.
Precis lika onödigt som att lägga till en tom sträng på slutet av allting, se crisse6s senaste inlägg, exempelvis. Det är en sjukdom som sprids som en löpeld.
Snabelregel nummer ett: Om något är onödigt, gör det icke. ;)
Mvh,
mikulMedlem sedan aug. 20013 824 inlägg Detta Borde funka bra: :e
[RED]
<%
strSQL = "UPDATE tbl_analys SET rubrik = '"& Request.form("rubrik") &"' WHERE id = "& Request.Form("ID")
oConn.Execute strSQL,,128
oConn.Close : Set oConn = Nothing
Response.write "<body bgcolor='#FFFFFF' text='#000000'>"
Response.redirect("visaanalys.asp")
%>[/RED]
/ Mikul
@nders skrev:
Precis lika onödigt som att lägga till en tom sträng på slutet av allting, se crisse6s senaste inlägg, exempelvis. Det är en sjukdom som sprids som en löpeld.
Jag brukar lägga ett ; semikolon sist i strängen.
Semikolon talar väl om att här tar stängen minsan slut och
ingen annan stans, är då detta helt onödigt?
@ndersMedlem sedan juni 200032 969 inlägg Jag tycker att det är onödigt, så länge man inte har flera statements i samma sträng. Då måste man separera sina statements. Nu vet jag iofs inte om man kan exekvera flera statements samtidigt i samma sträng i Access.
Prova gärna att köra en SQL-fråga med semikolon på slutet och samma fråga utan. Jag är övertygad om att det inte är någon skillnad i exekveringstid eller annat.
Det finns dock, säkerligen, dbms som kräver att man avslutar varje statement med semikolon eller annat tecken, precis som det finns programmeringsspråk som kräver det.
Mvh,