Avatar billede rocky2000 Nybegynder
26. juni 2004 - 21:52 Der er 9 kommentarer og
1 løsning

UPDATE spørgsmål

Jeg har en vilkårlig værdi for eksempel 75. Den vil jeg minusse med en værdi jeg har i en database forekseksempel 100. Derefter tager jeg den værdi den spytter ud HER er det 25 og så skal den ligge det ind i databasen. Hmm hvordan gør man det.


Jeg har prøvet men så brækker den sig. Hvad gør jeg galt?

<%
strGame = Session("ID")

    Set rs = Server.CreateObject("ADODB.RecordSet")
    strSQL = "UPDATE users set pic1 = 1 WHERE id LIKE '%" & StrGame & "%'"
    rs.Open strSQL, myConn, 1, 3

    Set rs1 = Server.CreateObject("ADODB.RecordSet")
    strSQL = "SELECT * FROM users where id like '%" & StrGame & "%'"
    rs1.Open strSQL, myConn, 1, 3
   
<%=RS1("penge") - 75 = "nypenge" %>


<%
    Set rs2 = Server.CreateObject("ADODB.RecordSet")
    strSQL = "UPDATE users set penge = 25 WHERE id LIKE '%" & StrGame & "%'"
    rs2.Open strSQL, myConn, 1, 3
%>
Avatar billede tubber Juniormester
26. juni 2004 - 22:03 #1
Hvad for en fejl får du ?
Det er lidt nemmere at spore sig ind på det når man kender fejlkoden samt meddelsen......
Avatar billede skwat Praktikant
26. juni 2004 - 22:04 #2
<% penge = RS1("penge") - 75 %>


<%
    Set rs2 = Server.CreateObject("ADODB.RecordSet")
    strSQL = "UPDATE users set penge = " & penge & " WHERE id LIKE '%" & StrGame & "%'"
    rs2.Open strSQL, myConn, 1, 3
%>

,åske?
Avatar billede rocky2000 Nybegynder
26. juni 2004 - 22:07 #3
Nej det virkede ikke.

En sætning var ventet
/buyicon1exe.asp, line 14
<% penge = RS1("penge") - 75
Avatar billede montago Praktikant
26. juni 2004 - 22:42 #4
hvis du bruger den der LIKE alt for meget bliver alle records jo en dag ens...
Avatar billede rocky2000 Nybegynder
26. juni 2004 - 22:42 #5
Jeg havde glemt en

%>

Sætningen hedder nu med hjælp fra "SKWAT"
<%
strGame = Session("ID")

    Set rs = Server.CreateObject("ADODB.RecordSet")
    strSQL = "UPDATE users set pic1 = 1 WHERE id LIKE '%" & StrGame & "%'"
    rs.Open strSQL, myConn, 1, 3

    Set rs1 = Server.CreateObject("ADODB.RecordSet")
    strSQL = "SELECT * FROM users WHERE id LIKE '%" & StrGame & "%'"
    rs1.Open strSQL, myConn, 1, 3
%>

<% nypenge = RS1("penge") - 75 %>



<%
    Set rs2 = Server.CreateObject("ADODB.RecordSet")
    strSQL = "UPDATE users set penge = " & nypenge & " WHERE id LIKE '%" & StrGame & "%'"
    rs2.Open strSQL, myConn, 1, 3
%>
Avatar billede rocky2000 Nybegynder
26. juni 2004 - 22:43 #6
Hvad mener du Montago??? Jeg er ikke så god til det her.
Avatar billede montago Praktikant
26. juni 2004 - 22:51 #7
når du bruger LIKE med '%%' finder den jo alle records som MINDER om det du søger efter...

dvs.. hvis strGame = 25
bliver 125, 250 og så videre også opdateret...

så med mindre ID er meget forskellige ... vil dine records med tiden ødelægge sig selv...

i øvrigt er det en lidt spøjs måde du køre dine SQL's på...
Jeg plejer selv at åbne databasen en gang for alle i toppen... og lukke den i bunden..

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("..\..\db\NFSU.mdb")
Conn.Open DSN
Set rs = Conn.execute("UPDATE users set pic1 = 1 where id = " & strGame)
Set RS1 = Conn.execute("Select * from Users where ID = " & StrGame)
nyPenge = RS1("Penge") - 75
Set udtRS = conn.execute("UPDATE users Set penge = "&nyPenge&" where ID = " & strGame)


Conn.Close
%>
Avatar billede rocky2000 Nybegynder
26. juni 2004 - 23:01 #8
Det er meget smartere det du har gjort men hvad betyder udtRS???
Avatar billede montago Praktikant
27. juni 2004 - 00:40 #9
aner det ikke ;-)

jeg ville forkorte Update RS... til uptRS... men fik skrevet noget vrøvl ;-)
Avatar billede rocky2000 Nybegynder
15. februar 2005 - 08:22 #10
ok
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