Avatar billede brops Nybegynder
12. oktober 2003 - 18:55 Der er 16 kommentarer og
2 løsninger

hjælp til en simpel kode

Hej jeg skal høre om der er en af jer her indefra, der kan hjælpe mig.

jeg skal ud fra en form have lavet noget hvor jeg opdatere nogle oplysninger i databasen.

1. Jeg har en Form hvor man indtaster nogle tal
2. Disse skal sendes til en side som lægger dem til en gammel værdi fra databasen, og så lægger den nye værdi ind i stedet...

nogen der kan hjælpe det er rimelige simpel... tror jeg men kan ikk lige dreje den...

MVH jonas skovmose AKA. Brops

jeg har formen:

<head>

</head>
<body>
<%
if Request.Cookies("admin") <> "" then
%>
<form action="stats_ind.asp" name="stats" method="post">
<table>
<tr>
  <td colspan="2">her kan du opdatere dine stats</td>
</tr>
<tr>
  <td>kills</td>
  <td>
    <input name="adminID" type="hidden" value="<%Request.Cookies("admin")%>">
    <input name="kills" type="text" size="5" >
  </td>
</tr>
<tr>
  <td>deaths</td>
  <td><input name="deaths" type="text" size="5"></td>
</tr>
<tr>
  <td colspan="2"><input type="submit"></td>
</tr>
</table>
</form>

<% else %>
<table>
  <tr>
    <td>Fejl</td>
  </tr>
  <tr>
    <td>du har ikk rettighedder til at se siden.... så BUZZ off</td>
  </tr>
</table>
<% end if%>
</body>

databaseconnection til den ny side er:

<%
SQLserveradr="*******"
SQLdatabase="*******"
SQLlogin="*********"
SQLpassword="********"

Set Conn = Server.CreateObject("ADODB.Connection")

conStr = "driver={MySql};server="& SQLserveradr &";database="& SQLdatabase
conStr = conStr & ";uid="& SQLlogin &";pwd="& SQLpassword & ";OPTION=16386"

Conn.Open conStr
%>
Avatar billede keysersoze Ekspert
12. oktober 2003 - 19:01 #1
godt nok er dette en tutorial til access - men sql-syntaksen er den samme til mysql

http://www.html.dk/tutorials/asp/lektion22.asp
Avatar billede brops Nybegynder
12. oktober 2003 - 19:03 #2
ja ved jeg godt.. men kan ikk få det til at funke derfor jeg spørger her...
Avatar billede keysersoze Ekspert
12. oktober 2003 - 19:05 #3
hvordan ser dit forsøg ud indtil videre?
Avatar billede brops Nybegynder
12. oktober 2003 - 19:11 #4
<%
SQLserveradr="*******"
SQLdatabase="*******"
SQLlogin="*********"
SQLpassword="********"

Set Conn = Server.CreateObject("ADODB.Connection")

conStr = "driver={MySql};server="& SQLserveradr &";database="& SQLdatabase
conStr = conStr & ";uid="& SQLlogin &";pwd="& SQLpassword & ";OPTION=16386"

Conn.Open conStr
%>
<%
var_admin = Request.Form("adminID")

sql = "SELECT * FROM admin WHERE adminID = '" & var_admin & "'"
Set objRec = Conn.Execute(sql)

objRec("kills") + Request.Form("kills") = var_kills
objRec("deaths") + Request.Form("deaths") = var_deaths


%>
<%
sql1= "UPDATE admin SET "
    sql1= sql1& "kills='" & replace(request.Form("kills"),"'","''") & "', "
    sql1= sql1& "deaths='" & replace(request.Form("deaths"),"'","''") & "', "
    sql1= sql1&  "WHERE adminID='" & var_admin & "'"
   
    conn.execute(sql1)

%>
Avatar billede keysersoze Ekspert
12. oktober 2003 - 19:19 #5
hvis jeg forstår dig ret...;

var_kills = objRec("kills") + Request.Form("kills")
var_deaths = objRec("deaths") + Request.Form("deaths")

sql1= "UPDATE admin SET "
    sql1= sql1& "kills='" & var_kills & "', "
    sql1= sql1& "deaths='" & var_deaths & "', "
    sql1= sql1&  "WHERE adminID='" & var_admin & "'"

dog - er det tal ikke ikke tekst-felter skal du fjerne ' ved talfelterne i update-sætningen
Avatar billede discowarp9 Nybegynder
12. oktober 2003 - 19:19 #6
Prøv det her:
-------------------------------------------------------------------------------
<%
SQLserveradr="*******"
SQLdatabase="*******"
SQLlogin="*********"
SQLpassword="********"

Set Conn = Server.CreateObject("ADODB.Connection")

conStr = "driver={MySQL ODBC 3.51 Driver};server="& SQLserveradr &";database="& SQLdatabase
conStr = conStr & ";uid="& SQLlogin &";pwd="& SQLpassword & ";OPTION=16386"

Conn.Open conStr

var_admin = Request.Form("adminID")

sql = "SELECT * FROM admin WHERE adminID = '" & var_admin & "'"
Set objRec = Conn.Execute(sql)

var_kills = objRec("kills") + cint(Request.Form("kills"))
var_deaths = objRec("deaths") + cint(Request.Form("deaths"))


sql1= "UPDATE admin SET kills = " & var_kills & ", deaths = " & var_deaths & " where adminID = '" & var_admin & "';" 
conn.execute(sql1)

%>
Avatar billede brops Nybegynder
12. oktober 2003 - 19:20 #7
huh kills og deaths er tal -felter ja
Avatar billede discowarp9 Nybegynder
12. oktober 2003 - 19:21 #8
ARGH! Der var du for hurtig keysersoze! 13 sekunder :D
Avatar billede keysersoze Ekspert
12. oktober 2003 - 19:23 #9
godt - så skal din sql se sådan ud;

sql1= "UPDATE admin SET "
    sql1= sql1& "kills=" & var_kills & ", "
    sql1= sql1& "deaths=" & var_deaths & ", "
    sql1= sql1&  "WHERE adminID='" & var_admin & "'"
Avatar billede brops Nybegynder
12. oktober 2003 - 19:28 #10
ADODB.Recordset.1 error '80020009'

Either BOF or EOF is True, or the current record has been deleted; the operation requested by the application requires a current record.

/asp_urettet/stats_ind.asp, line 19

kan dette være fordi standartværdien er 0 i databasen????
Avatar billede discowarp9 Nybegynder
12. oktober 2003 - 19:29 #11
Prøv at sætte cint() omkring din var_admin, altså:
sql1= "UPDATE admin SET kills = " & var_kills & ", deaths = " & var_deaths & " where adminID = '" & cint(var_admin) & "';" 
conn.execute(sql1)
Avatar billede keysersoze Ekspert
12. oktober 2003 - 19:36 #12
skyldes nok nærmere, at din select-sætning ikke giver noget resultat... tjeck om det ID du fører med over stemmer overnes med et i databasen
Avatar billede brops Nybegynder
12. oktober 2003 - 19:37 #13
det skulle det gerne.. da den fanger det fra en cookie som bliver sat efter id når man logger ind
Avatar billede discowarp9 Nybegynder
12. oktober 2003 - 19:40 #14
Du kan eventuelt tilføje følgende stykke kode:
If NOT objRec.EOF Then
  var_kills = objRec("kills") + cint(Request.Form("kills"))
  var_deaths = objRec("deaths") + cint(Request.Form("deaths"))

  sql1= "UPDATE admin SET kills = " & var_kills & ", deaths = " & var_deaths & " where adminID = '" & var_admin & "';"
  conn.execute(sql1)
Else
  Respone.Write "Din admin id er ugyldig..."
End If

Så skriver den "Din admin id er ugyldig..." hvis admin ikke er registreret/gyldig...
Avatar billede discowarp9 Nybegynder
12. oktober 2003 - 19:41 #15
Der skulle selvfølgelig have stået Response.Write...
Avatar billede brops Nybegynder
12. oktober 2003 - 19:58 #16
jeg ved ikk hvad der skulle til men lavede lidt om i koden og requestede cookien direkte til var_admin så virkede den..

jeg ved ikk helt hvordan jeg skal fordele pointsne da i begge hjalp.. men hvad med 120-80 til keysersoze ???
Avatar billede discowarp9 Nybegynder
12. oktober 2003 - 19:59 #17
Fint med mig... Det er ikke pointene der er det vigtige. Det er sjovere når det virker. :D
Avatar billede brops Nybegynder
12. oktober 2003 - 20:00 #18
ok sådan blir det...
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