Avatar billede mikmakmuk Nybegynder
29. april 2002 - 14:06 Der er 26 kommentarer og
2 løsninger

Problem med at opdaterer en tabel

Det jeg gerne vil er at identificerer en række og så ændre værdierne til noget andet. Jeg er bare ikke helt med på hvordan man gør. Jeg kan godt finde ud af at isolerer en enkelt række, men jeg forstår ikke helt hvordan jeg så ændre værdierne. Det jeg har ind til videre er


    strSQL = "SELECT * FROM tabel WHERE fnavn='"&variable&"' AND enavn='"&variable&"'"


    set rs = Conn.Execute(strSQL)

Så har jeg et resultset med en række, men hvordan ændre jeg så værdierne til noget andet??????
Avatar billede mikmakmuk Nybegynder
29. april 2002 - 14:07 #1
De 2 variable udgør en nøgle (forhåbenlig primær *LOL*)
Avatar billede bindestreg Nybegynder
29. april 2002 - 14:11 #2
Conn.Execute = "UPDATE tabel SET fnavn='navn', enavn='navn' WHERE fnavn='"&variable&"
Avatar billede kimiwan Nybegynder
29. april 2002 - 14:12 #3
mener du...

UPDATE tabel SET fnavn = '"&variable&"', enavn = '"&variable&"' WHERE Id = " & ID

..hvor ID er id'et for rækken, du vil opdatere.
Avatar billede mikmakmuk Nybegynder
29. april 2002 - 14:15 #4
jamen id'et er jo sammensat af to forskellige værdier
Avatar billede bindestreg Nybegynder
29. april 2002 - 14:19 #5
... WHERE Id='"& var1 & var2 &"'
Avatar billede kimiwan Nybegynder
29. april 2002 - 14:21 #6
... WHERE fnavn = '" & GAMMELT_FNAVN & "' AND enavn = '" & GAMMELT_ENAVN & "'"
Avatar billede eagleeye Praktikant
29. april 2002 - 14:22 #7
variable = "Den værdi de har idag"
newvalue1 = "Ny værdi for fnavn
newvalue2 = "Ny værdi for enavn

strSQL = "UPDATE tabel SET fnavn = '" & newvalue1 & "', enavn = '" & newvalue2 & "' WHERE fnavn='"&variable&"' AND enavn='"&variable&"'"
Avatar billede mikmakmuk Nybegynder
29. april 2002 - 14:56 #8
fornavn    = Request.Form("fnavn")
efternavn  = Request.Form("enavn")
afdeling  = Request.Form("afd")
tlf        = Request.Form("tlf")

%>
databaseforbildelsen oprettes
<%
strSQL = "UPDATE kontakt SET fnavn='"&fornavn&"',enavn='"&efternavn&"',afd_nr='"&afdeling &"',tlf='"&tlf&"' WHERE fnavn='"&fornavn&"' AND enavn='"&efternavn&"'"
Conn.Execute(strSQL)
Avatar billede mikmakmuk Nybegynder
29. april 2002 - 14:56 #9
skulle det ikke være rigtigt
Avatar billede eagleeye Praktikant
29. april 2002 - 15:00 #10
Det kan du ikke umiddelbart. I din WHERE skal du havde det gamle fnavn og enavn.

Det du kan gøre er at på din <form> lave et felt som er hidden med ID på den person som skal rettes.

<input type="hidden" name="id" value="<&=rs("ID")&>">

Så skal du på opdater siden havde:
id = Request.Form("id")

Samt din sql skal de sådan ud:
strSQL = "UPDATE kontakt SET fnavn='"&fornavn&"',enavn='"&efternavn&"',afd_nr='"&afdeling &"',tlf='"&tlf&"' WHERE ID = " & id
Conn.Execute(strSQL)
Avatar billede eagleeye Praktikant
29. april 2002 - 15:01 #11
<input type="hidden" name="id" value="<%=rs("ID")%>">
Avatar billede mikmakmuk Nybegynder
29. april 2002 - 15:01 #12
det skulle det også være
Avatar billede eagleeye Praktikant
29. april 2002 - 15:03 #13
Altså du har en ID i/på din <form>?
Avatar billede mikmakmuk Nybegynder
29. april 2002 - 15:04 #14
også måske ikke *LOL*
Avatar billede mikmakmuk Nybegynder
29. april 2002 - 15:05 #15
nej det har jeg ikke
Avatar billede eagleeye Praktikant
29. april 2002 - 15:07 #16
Du laver vel en form hvor du skrive de værdier som er i databasen for fnavn og enavn ?

<input tpye="text" name="fnavn" value="<%rs("fnavn")%>">  osv..

Så du skal lave et felt mere som er hidden med ID på den record som du retter i.
Avatar billede mikmakmuk Nybegynder
29. april 2002 - 15:10 #17
Det prøver jeg, undskyld jeg er lidt langsom *LOL*, men jeg syntes det er svært
Avatar billede mikmakmuk Nybegynder
29. april 2002 - 15:13 #18
problemet er bare at jeg ikke har et id i databasen
Avatar billede mikmakmuk Nybegynder
29. april 2002 - 15:13 #19
som jeg kan bruge som primær nøgle
Avatar billede eagleeye Praktikant
29. april 2002 - 15:16 #20
Har du et felt som er defineret som autonummer ?
Avatar billede mikmakmuk Nybegynder
29. april 2002 - 15:26 #21
nej desvære ikke
Avatar billede mikmakmuk Nybegynder
29. april 2002 - 15:27 #22
det er en oracledatabase jeg sidder og arbejde på
Avatar billede mikmakmuk Nybegynder
29. april 2002 - 15:28 #23
Det ville virke hvis jeg bare kunne få fat i 2 variable
Avatar billede mikmakmuk Nybegynder
29. april 2002 - 15:29 #24
<%
ffnavn = request.querystring("var1")
eenavn = request.querystring("var2")
%>

<%
if Request.Form("Gem") = "Gem" then

fornavn    = Request.Form("fnavn")
efternavn  = Request.Form("enavn")
afdeling  = Request.Form("afd")
tlf        = Request.Form("tlf")

%>
<!--#include file="../includes/asp_conn.inc"-->
<%

strSQL = "UPDATE kontakt SET fnavn='"&fornavn&"',enavn='"&efternavn&"',afd_nr='"&afdeling &"',tlf='"&tlf&"' WHERE fnavn='"&a&"' AND enavn='"&b&"'"
Conn.Execute(strSQL)

end if
%>
Avatar billede eagleeye Praktikant
29. april 2002 - 15:30 #25
Så må du lave det lidt alternativt...
2 hidden felter som indehholder det samme som fnavn og enavn:

<input type="hidden" name="old_fnavn" v...
<input type="hidden" name="old_enavn" v...

----
i gem filen:

old_fornavn    = Request.Form("old_fnavn")
old_efternavn  = Request.Form("old_enavn")

Din SQL:
strSQL = "UPDATE kontakt SET fnavn='"&fornavn&"',enavn='"&efternavn&"',afd_nr='"&afdeling &"',tlf='"&tlf&"' WHERE fnavn='"&old_fornavn&"' AND enavn='"&old_efternavn&"'"


Ikke helt pænt med det skulle virker....
Avatar billede mikmakmuk Nybegynder
29. april 2002 - 15:31 #26
Når man kommer ind på siden bliver var1 og var2 sendt med fra en anden side
Avatar billede mikmakmuk Nybegynder
29. april 2002 - 15:32 #27
er det meget slemt
Avatar billede eagleeye Praktikant
29. april 2002 - 15:34 #28
Det ville være nemere med ID men, det kan godt lade sig gøre som du skriver..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester