Avatar billede eqvaliser Nybegynder
01. januar 2007 - 14:23 Der er 8 kommentarer og
1 løsning

Opdatering af Db i sql

Er ved at lave et sted for opdateringen af denne db.
jeg roder med.

http://www.html.dk/tutorials/asp/lektion22.asp

viser bla. 

' SQL sætning opbygges
strSQL = "Update personer set "
strSQL = strSQL & "Fornavn= 'A.', "
strSQL = strSQL & "Telefon= '44444444' "
strSQL = strSQL & " Where Id = 24"

' SQL sætning eksekveres
Conn.Execute(strSQL)


ok det ser jo nemt ud ..  hos mig ser det sådan ud..

strSQL = "Update bank set (Navn,Type,Ql,Figur,Taske,Antal,Link,Notat,Bruger,Ude) values('" & request.form("Navn") & "', '" & request.form("Type") & "', '" & request.form("Ql") & "', '" & request.form("Figur") & "', '" & request.form("Taske") & "', '" & request.form("Antal") & "', '" & request.form("Link") & "', '" & request.form("Notat") & "', '" & request.form("Bruger") & "', '" & request.form("Ude") & "')"
set rs = conn.execute(strSQL)


  conn.close
set conn=nothing


Egentligt den samme som gemme,  bortset fra ændret
"update bank set"

Mit spørgsmål ->

Skal man ikke vælge hvilket recordset man skal gemme i, har ik prøvet det igennem ednu,
men det ser da ud til at bare gemme i den første.

Jeg har alle mine info arangeret sådan der
vælges og gemmes udfra en ting.  nemlig (id)
som også er auto nummerering, og fungere dermed også
som serie nummer.


Så jeg ville da mene jeg først skulle "bladre" hen til det korrekte ID først.

også derefter opdatere denne recordset.
eller er det helt forkert ?
Avatar billede keysersoze Ekspert
01. januar 2007 - 14:34 #1
et recordset er det resultat du får når du hiver data ud af databasen - så det har som udgangspunkt intet med at gemme data at gøre.

Det der er ekstrem vigtigt - og det som du har overset i artiklen - er, at når man bruger update (eller for den sags skyld delete) er, at man så godt som altid skal have en WHERE-statement på. fx;

WHERE id = 1

dvs din kode måske skal se sådan ud;

strSQL = "Update bank set (Navn,Type,Ql,Figur,Taske,Antal,Link,Notat,Bruger,Ude) values('" & request.form("Navn") & "', '" & request.form("Type") & "', '" & request.form("Ql") & "', '" & request.form("Figur") & "', '" & request.form("Taske") & "', '" & request.form("Antal") & "', '" & request.form("Link") & "', '" & request.form("Notat") & "', '" & request.form("Bruger") & "', '" & request.form("Ude") & "') WHERE id = " & Request.Querystring("id") & ""
conn.execute(strSQL)
Avatar billede eqvaliser Nybegynder
01. januar 2007 - 14:45 #2
jo det kan jeg godt se, nu du siger det..
Jeg får dataen fra en from fra foregående side, inclusiv den som hedder
ID.. 

Skulle jeg så måske istil m.   

Where request.form("Id") = " & Request.Querystring("Id") & ""

tester lige, fik fejl fra den anden..
Avatar billede eqvaliser Nybegynder
01. januar 2007 - 14:46 #3
hehe ok nej..  den satte ligefrem "pil" under  request.form("Id")
Avatar billede keysersoze Ekspert
01. januar 2007 - 14:50 #4
kolonnen må være den samme uanset hvad så der skal altid stå id - præcis hvad du skal skrive i værdien afhænger af hvordan du sender den videre. Laver du fx et hidden formfelt og gemmer id fra den foregående side deri skal du nok skrive;

WHERE id = " & Request.Form("id") & ""
Avatar billede eqvaliser Nybegynder
01. januar 2007 - 14:53 #5
Hmm skummelt..  et lille copy fra foregående side.. som dataen kommer fra ;)

        <% response.write haha("Id") %>
        <input type="Hidden" name="Id" value='<% response.write haha("Id") %>'>

ok tester lige ;)
Avatar billede eqvaliser Nybegynder
01. januar 2007 - 15:01 #6
Avatar billede keysersoze Ekspert
01. januar 2007 - 15:05 #7
en anden ting som du bør kunne se ud fra artiklen er, at syntaksen til update er anderledes end insert;

update bank set Navn = '" & request.form("Navn") & "', Type = '" & request.form("Type") & "' osv...
Avatar billede eqvaliser Nybegynder
11. januar 2007 - 20:16 #8
hmm havde tænkt mig at lægge det lidt på hylden..
ville lige tjeke en gang mere.. nu virkede det...  0.o

den sidste der, hvor jeg har ændret syntaxen.. 
smid et svar.. hehe ;)
Avatar billede keysersoze Ekspert
11. januar 2007 - 20:29 #9
svar :)
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