webForumDet fria alternativet
Logga in / Bli medlem

Update?

ASP

20 svar · 433 visningar · startad av Alkvettern

Medlem sedan okt. 2002108 inlägg
Trådstart#1

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?

Medlem sedan juni 20003 076 inlägg
#2

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 & " ;"
Medlem sedan okt. 2002108 inlägg
#3

Funkar inte ändå.

Har nu skrivit in följande kod:

<%strSQL = "UPDATE tbl_analys SET rubrik = '"& Request.form("rubrik") &"' WHERE id = '"& request.form("ID") &"'"
Medlem sedan juni 200032 967 inlägg
#4

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,

Medlem sedan okt. 2002108 inlägg
#5

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

Medlem sedan juni 200032 967 inlägg
#6

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,

Medlem sedan okt. 2002108 inlägg
#7

Då får jag felmeddelande:

Expecting string input

/alkvetternsik/changeanalys.asp, line 17

The function expects a string as input

Medlem sedan dec. 2000399 inlägg
#8

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)
Medlem sedan okt. 2002108 inlägg
#9

Kopierade in din kod men fick fortfarande samma felmeddelande

/mathias

Medlem sedan juni 200032 967 inlägg
#10

Vilken är rad 17?

Medlem sedan okt. 2002108 inlägg
#11

Rad 17 är :

strSQL="UPDATE tbl_analys SET rubrik = '"& Request.form("rubrik") &"' WHERE ID = "& Request.form(id)
Medlem sedan juni 200032 967 inlägg
#12

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,

Medlem sedan sep. 20011 914 inlägg
#13

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") &")"
Medlem sedan juni 200032 967 inlägg
#14

Dino, varför har du lagt in en parentes runt värdet på ID?

Medlem sedan dec. 20002 526 inlägg
#15

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

Medlem sedan sep. 20011 914 inlägg
#16

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?

Medlem sedan juni 200032 967 inlägg
#17

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,

Medlem sedan aug. 20013 824 inlägg
#18

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

Medlem sedan juni 20003 076 inlägg
#19

@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?

Medlem sedan juni 200032 967 inlägg
#20

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,

274 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
134 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)