webForumDet fria alternativet

Update?

20 svar · 429 visningar · startad av Alkvettern

AlkvetternMedlem sedan okt. 2002108 inlägg
#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?

doggelitoMedlem 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 & " ;"
AlkvetternMedlem 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") &"'"
@ndersMedlem sedan juni 200032 969 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,

AlkvetternMedlem 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

@ndersMedlem sedan juni 200032 969 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,

AlkvetternMedlem 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

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

Kopierade in din kod men fick fortfarande samma felmeddelande

/mathias

@ndersMedlem sedan juni 200032 969 inlägg
#10

Vilken är rad 17?

AlkvetternMedlem sedan okt. 2002108 inlägg
#11

Rad 17 är :

strSQL="UPDATE tbl_analys SET rubrik = '"& Request.form("rubrik") &"' WHERE ID = "& Request.form(id)
@ndersMedlem sedan juni 200032 969 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,

DinoMedlem 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") &")"
@ndersMedlem sedan juni 200032 969 inlägg
#14

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

crisse6Medlem 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

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

@ndersMedlem sedan juni 200032 969 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,

mikulMedlem 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

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

@ndersMedlem sedan juni 200032 969 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,

128 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)