Avatar billede jeffe Nybegynder
01. maj 2003 - 14:39 Der er 16 kommentarer og
1 løsning

MySQL opdatering i ASP

Jeg vil hente data fra en db og så opdatere dataene i db'en. Filen herunder hedder rett2.asp og bliver altid kaldt med en querystring a la id=1
dataene bliver også hentet fint nok ind, men den opdaterer det ikek ordentligt. Den laver ingen fejl og så redirecter den bare til loggedin.asp. Jeg har pasted koden fra en anden side, jeg fik til at virke og elelrs bare ændret på felterne osv. Jeg fatter ikke hvorfor det ikke virker. Please help !

<%
response.buffer = TRUE
Set Conn = Server.CreateObject("ADODB.Connection")
conn.open "Driver=mysql;Server=localhost;Database=db;UID=fedeting_dk;PWD=pass;"
Set rs = Server.CreateObject("ADODB.Recordset")
sql = "select * from turneringer WHERE id = '" & Request.querystring("id") & "'"
rs.Open sql, conn, 1, 3

    turnering = rs("turnering")
    dato = rs("dato")
    pris = rs("pris")
    frist = rs("frist")
    tilmeldtlf = rs("tilmeldtlf")
    tilmeldemail = rs("tilmeldemail")
    noter = rs("noter")

    if Request.ServerVariables("REQUEST_METHOD") = "POST" then

    rs("turnering") = turnering
    rs("pris") = pris
    rs("frist") = frist
    rs("tilmeldtlf") = tilmeldtlf
    rs("tilmeldemail") = tilmeldemail
    rs("dato") = dato
    rs("noter") = noter
    rs.update
response.redirect("loggedin.asp")
end if


%>
<HEAD>
<style>
<!--

.bgmain {
    background-image: url(pics/bg.gif);
}
.bgside {
    background-image: url(pics/side.gif);
    background-repeat: no-repeat;
}
-->
</style>

<TITLE>Ret Turnering</TITLE>
<link rel="stylesheet" href="css/style.css">
</HEAD>
<BODY>
<div align="center">
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="730" bgcolor="blue">
    <tr>
        <td width=150 bgcolor="#0000FF" valign="top"><center><img src="pics/logo.gif" width="150" height="130" border="0"><!--#include file="menu.inc"--><br>
</td>

<td bgcolor="white" valign="top" class="bgmain"><center><h1>RET TURNERING</h1><h4>Foretag de ønskede ændringer og klik på Opdatér Turnering, for at opdatere turneringen. Turneringen er opdateret korrekt hvis administrations-siden kommer frem.<br>
<a href="hjaelp.asp">Se yderligere hjælp</a>
<br><br>
<b><a href="tilfoejt.asp">Tilføj</a></b> - <a href="rett.asp">Ret</a><br>
<br>
<form method="post" action="rett2.asp?id=<%=request.querystring("id")%>" id="form1" name="form1">
<center>
<table border="0" cellspacing="2" cellpadding="0">
  <tr>
  <tr>
    <td valign="top"><p>Turnering:</p></td>
    <td align="left"><input name="turnering" type="text" maxlength="255" value="<%=turnering%>" style="font-family: Verdana; font-size: 9 pt; border: 1 solid #000000; width: 300"><br><br>
</td>
  </tr>
  <tr>
    <td valign="top"><p>Dato for turnering:</p></td>
    <td align="left"><input name="dato" type="text" maxlength="50" value="<%=dato%>" style="font-family: Verdana; font-size: 9 pt; border: 1 solid #000000; width: 300"><br><br>
</td>
  </tr>
  <tr>
    <td valign="top"><p>Pris:</p></td>
    <td align="left"><input name="pris" type="text" maxlength="255" value="<%=pris%>" style="font-family: Verdana; font-size: 9 pt; border: 1 solid #000000; width: 300"><br><br>
</td>
  </tr>
  <tr>
    <td valign="top"><p>Tilmeldingsfrist:</p></td>
    <td align="left"><input name="frist" type="text" maxlength="25" value="<%=frist%>" style="font-family: Verdana; font-size: 9 pt; border: 1 solid #000000; width: 300"><br><br>
</td>
  </tr>
  <tr>
    <td valign="top"><p>Tildmelding pr. telefon:</p></td>
    <td align="left"><input name="tilmeldtlf" type="text" maxlength="8" value="<%=tilmeldtlf%>" style="font-family: Verdana; font-size: 9 pt; border: 1 solid #000000; width: 300"><br><br>
</td>
  </tr>
  <tr>
    <td valign="top"><p>Tilmelding pr. email:</p></td>
    <td align="left"><input name="tilmeldemail" type="text" maxlength="50" value="<%=tilmeldemail%>" style="font-family: Verdana; font-size: 9 pt; border: 1 solid #000000; width: 300"><br><br>
</td>
  </tr>
  <tr>
    <td valign="top"><p>Noter:</p></td>
    <td align="left"><textarea name="noter" style="background-color: #0000ff; color: #ffffff; font-family: Verdana; font-size: 9 pt; border: 1 solid #000000; width: 300" rows="5" cols="1000"><%=noter%></textarea><br>
<br>
</td>
  </tr>
  </tr>
</table>
<br>
<input type="submit" value="Opdatér Turnering" style="font-size: 14px; font-family: Verdana; font-size: 9 pt; border: 1 solid #000000"></form><br>
<br>
</td>
</tr>
</table>
Avatar billede erikjacobsen Ekspert
01. maj 2003 - 14:46 #1
Med mysql i ASP bør du lave en rigtig INSERT sætning og ikke bruge ADOs rs.update
Avatar billede erikjacobsen Ekspert
01. maj 2003 - 14:47 #2
Men ellers er grunden måske at fx turnering
ikke har en værdi fra din form. Du skal sikkert
request.form("turnering") ... eller sådan noget
Avatar billede medions Nybegynder
01. maj 2003 - 14:47 #3
Tror vidst du har brugt Access før for det er ikke muligt at gøre sådan her i MySQL:

    rs("turnering") = turnering
    rs("pris") = pris
    rs("frist") = frist
    rs("tilmeldtlf") = tilmeldtlf
    rs("tilmeldemail") = tilmeldemail
    rs("dato") = dato
    rs("noter") = noter
    rs.update

Der er du nød titl at bruge normal SQL, altså INSERT osv.!

Et eksempel kunne evt. være:

strSQL = "INSERT INTO tabelnavn (kolonne1, kolonne2) VALUES ('hej1', 'hej2')"
objConn.Execute(strSQL)

//>Rune
//>Rune
Avatar billede medions Nybegynder
01. maj 2003 - 14:48 #4
Erik> Hvorfor er det egentlig man ikke kan det? er det MyODBC driveren der ikke kan tolke det eller hvordan står det til?

//>Rune
Avatar billede jeffe Nybegynder
01. maj 2003 - 14:51 #5
Medions: Jov, man kan godt opdatere på den måde...
Avatar billede jeffe Nybegynder
01. maj 2003 - 14:52 #6
Erik: Jeg dobbelttjekker lige det hele så...
Avatar billede erikjacobsen Ekspert
01. maj 2003 - 14:53 #7
De er nogle få ting der typisk går galt. Eller gjorde i "gamle" dage :)
En var noget med at ADO ikke vil putte en for lang streng ind i et felt,
som er det samme som hvis det var en Access DB. Men mysql-driveren afleverede
ikke max længde på feltet, men kun længden af det aktuelle felt.

Så stod der "halmballe", kunne man godt lave det om det "roekule", men
ikke til "mejetærsker".

Men nye mysql-drivere kan have det bedre med det ... måske
Avatar billede jeffe Nybegynder
01. maj 2003 - 14:57 #8
Erik: lol...heh ok...men den kan nu altså heller ikke forkorte, for det er faktisk det jeg gør hver gang jeg tester...
Avatar billede medions Nybegynder
01. maj 2003 - 14:58 #9
lol kan godt li' dit eksempel ;o)
-men jeg har nu prøvet et par gange, her for et stykke tid siden, og der virkede det nu heller ikke, men det kan da godt være det er mig der tager fejl, who knows ;o)

//>Rune
Avatar billede erikjacobsen Ekspert
01. maj 2003 - 15:01 #10
Det er som sagt nemt at test for lige denne ting. Og virker det, så er
det jo godt nok. Med INSERT, UPDATE og DELETE sætninger er man ude over
eventuelle problemer med lige dette her.
Avatar billede jeffe Nybegynder
01. maj 2003 - 15:02 #11
Jeg har fået det til at virke, og jeg tør næsten ikke give jer svaret...
se når der submittes. Hvor er det lige at data fra formaen bliver hentet. INGEN STEDER. Altså ingen
turnering = request("turnering")
LOL
Det virker nu. Såeh, medions...det kan altså sagtens lade sig gøre. Men i har ret i at det ikke er den rigtige (og optimale) metode...
Avatar billede erikjacobsen Ekspert
01. maj 2003 - 15:21 #12
det var jo det jeg sagde. med request.form ... Kan du også forkorte de tekster,
der allerede står der?
Avatar billede jeffe Nybegynder
01. maj 2003 - 15:38 #13
Hvad mener du ?
Altså, du behøver ikkea t have .form med jo...hvis det er det du mener
Avatar billede erikjacobsen Ekspert
01. maj 2003 - 15:47 #14
Det er nu det pæneste med .form.

Nej, jeg mener. Har du et felt med en tekst i: "halmballe". Kan du så
ændre den til noget længere: "mejetærsker".

(dvs. forlænge ... ikke forkorte ... en tekst)
Avatar billede jeffe Nybegynder
01. maj 2003 - 15:55 #15
ja, jeg har prøvet begge dele, virker fint....
Avatar billede medions Nybegynder
27. juni 2003 - 17:01 #16
Thx 4 Poinz

//>Rune
Avatar billede jeffe Nybegynder
28. juni 2003 - 22:14 #17
Ja ups, lidt sent. Spørgsmålet var røget helt i glemmebogen :/
Undskylder mange gange !
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