Avatar billede html_wizard Nybegynder
25. maj 2003 - 19:22 Der er 9 kommentarer og
1 løsning

ASP update record

Jeg har prøvet alt for at ændre denne kode til udate i stedet for add new hvad gør jeg? Har prøvet med id = id osv...

PLZ HELP

<%

Const adOpenKeyset = 1
Const adLockOptimistic = 3

strMode = Request.QueryString("mode")
set conn = server.createobject("ADODB.Connection")
conn.open "DBQ=links.mdb;Driver={Microsoft Access Driver (*.mdb)};"

If Request.Form("edit") <> "" Then

    strmaingroup = Trim(Request.Form("maingroup"))
    strsecondgoup = Trim(Request.Form("secondgroup"))
    strwww = Trim(Request.Form("www"))
   
    strtitle = Trim(Request.Form("title"))
    strdescription = Trim(Request.Form("description"))
   
    strsearch1 = Trim(Request.Form("search1"))
    strsearch2 = Trim(Request.Form("search2"))
    strsearch3 = Trim(Request.Form("search3"))
    strsearch4 = Trim(Request.Form("search4"))
    strsearch5 = Trim(Request.Form("search5"))
   
        Set rs = Server.CreateObject("ADODB.RecordSet")
        strSQL = "SELECT * FROM table1 WHERE (id = 0)"
        rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
        If (rs.BOF Or rs.EOF) Then
            rs.AddNew
            rs("maingroup") = Server.HTMLEncode(strmaingroup)
            rs("secondgroup") = Server.HTMLEncode(strsecondgoup)
            rs("www") = Server.HTMLEncode(strwww)
            rs("title") = Server.HTMLEncode(strtitle)
            rs("description") = Server.HTMLEncode(strdescription)
            rs("search1") = Server.HTMLEncode(strsearch1)
            rs("search2") = Server.HTMLEncode(strsearch2)
            rs("search3") = Server.HTMLEncode(strsearch3)
            rs("search4") = Server.HTMLEncode(strsearch4)
            rs("search5") = Server.HTMLEncode(strsearch5)
            rs("visits") = 0
            rs("Date") = Now()
            rs.Update
        End If
        rs.Close
        Set rs = Nothing
      conn.Close
      Response.redirect ("editfirst.asp")
    Else
        strMode = "add"
    End If
%>
Avatar billede eagleeye Praktikant
25. maj 2003 - 19:30 #1
Hvis du vil opdarere så skal du ikke hvade denne linje med:

          rs.AddNew
Avatar billede eagleeye Praktikant
25. maj 2003 - 19:31 #2
Den laver nemlig en ny record i tabellen.

Så skal du havde rette denne SQL sætning


Hvis du gemmer ID i formen kan du gøre det i stil med:
strSQL = "SELECT * FROM table1 WHERE id = " & Request.Form("ID")

så den hendter hvor ID = den_records_som_rettes

strSQL = "SELECT * FROM table1 WHERE (id = 0)"
Avatar billede html_wizard Nybegynder
25. maj 2003 - 19:40 #3
Men ved at slette rs.addnew og erstatte strSQL = "SELECT * FROM table1 WHERE id = " & Request.Form("ID") får det ikke til at virke.

Den laver ikke ny sletter ikke retter ikke men kommer heller ikke med en fejlmelding?
Avatar billede eagleeye Praktikant
25. maj 2003 - 19:45 #4
Det forudsætter du har gemt ID'et i formen i eksvis et hidden felt:

<input type="hidden" name="id" value="<%=rs("ID")%>">
Avatar billede html_wizard Nybegynder
25. maj 2003 - 20:06 #5
Jeg får en fejlmelding
Syntax error (missing operator) in query expression 'id ='.
Avatar billede eagleeye Praktikant
25. maj 2003 - 20:10 #6
Så manger der et tal efter ID.
Har du tilføjet ID til formen?
Avatar billede html_wizard Nybegynder
25. maj 2003 - 20:14 #7
Okay ingen fejlmelding nu, men der sker intet med recorden når jeg "submitter".
Den redirecter men intet er sket med recorden

<%

Const adOpenKeyset = 1
Const adLockOptimistic = 3

strMode = Request.QueryString("mode")
set conn = server.createobject("ADODB.Connection")
conn.open "DBQ=d:\home\guide2htmlcom\db\links.mdb;Driver={Microsoft Access Driver (*.mdb)};"
    strnumber = Request.Querystring("id")
If Request.Form("edit") <> "" Then

    strmaingroup = Trim(Request.Form("maingroup"))
    strsecondgoup = Trim(Request.Form("secondgroup"))
    strwww = Trim(Request.Form("www"))
   
    strtitle = Trim(Request.Form("title"))
    strdescription = Trim(Request.Form("description"))
   
    strsearch1 = Trim(Request.Form("search1"))
    strsearch2 = Trim(Request.Form("search2"))
    strsearch3 = Trim(Request.Form("search3"))
    strsearch4 = Trim(Request.Form("search4"))
    strsearch5 = Trim(Request.Form("search5"))

        Set rs = Server.CreateObject("ADODB.RecordSet")
        strSQL = "SELECT * FROM table1 WHERE id =" & Request.Form("id")
        rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
        If (rs.BOF Or rs.EOF) Then
            rs("maingroup") = Server.HTMLEncode(strmaingroup)
            rs("secondgroup") = Server.HTMLEncode(strsecondgoup)
            rs("www") = Server.HTMLEncode(strwww)
            rs("title") = Server.HTMLEncode(strtitle)
            rs("description") = Server.HTMLEncode(strdescription)
            rs("search1") = Server.HTMLEncode(strsearch1)
            rs("search2") = Server.HTMLEncode(strsearch2)
            rs("search3") = Server.HTMLEncode(strsearch3)
            rs("search4") = Server.HTMLEncode(strsearch4)
            rs("search5") = Server.HTMLEncode(strsearch5)
            rs("visits") = 0
            rs("Date") = Now()
            rs.Update
        End If
        rs.Close
        Set rs = Nothing
      conn.Close
      Response.redirect ("editfirst.asp")
    Else
        strMode = "add"
    End If
%>



  <table border="0" cellspacing="0" cellpadding="0" align="left">
      <tr><td valign="top" align="left"><br><br><table border="0" cellspacing="0" cellpadding="1">
    <tr>
      <td width="100%">
<%

Set conn = Server.CreateObject("ADODB.Connection")
conn.open "DBQ=d:\home\guide2htmlcom\db\links.mdb;Driver={Microsoft Access Driver (*.mdb)};"
sql = "SELECT * FROM table1 where id = " & strnumber & " ORDER BY id"
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 3, 3

Select Case strMode
Case "add"
%>
<form method="POST" action="edit.asp?id="<%=rs("id")%>"">
<table border="0" width="100%" cellspacing="0" cellpadding="3">
        <tr>
          <td valign="top" align="left" width="200">Maingroup: <span class=text2>(ex. ASP)</td>
          <td valign="middle" align="left"><input type="text" maxlength="50" name="maingroup" size="30" value="<%=rs("maingroup")%>"></td>
        </tr>
                <tr>
          <td valign="top" align="left" width="200">Secondgroup: <span class=text2>(ex. Tutorials)</td>
          <td valign="middle" align="left"><input type="text" maxlength="50" name="secondgroup" size="30" value="<%=rs("secondgroup")%>"></td>
        </tr>
        <tr>
          <td valign="top" align="left" width="200">Address: <span class=text2>(ex. http://www.domain.com)</td>
          <td valign="middle" align="left"><input type="text" maxlength="50" name="www" size="30" value="<%=rs("www")%>"></td>
        </tr>
                <tr>
          <td valign="top" align="left">Title: <span class=text2>(ex. Learn ASP)</td>
          <td valign="top" align="left"><input type="text" maxlength="50" name="title" size="30" value="<%=rs("title")%>"></td>
        </tr>
                <tr>
          <td valign="top" align="left">Description: <span class=text2> (max. 300 chars)</td>
          <td valign="top" align="left"><textarea name="description" rows="5" cols="35" onkeyup="TrackCount(this,'textcount',300)" onkeypress="LimitText(this,300)"><%=rs("description")%></textarea></td>
        </tr>
                <tr>
          <td valign="middle" align="left" colspan="2"><b>Your 5 keywords</b><br><span class=text2>Choose five keywords that best describes your web site</td>
        </tr>
                <tr>
          <td valign="top" align="left" width="200">Keyword 1:</td>
          <td valign="middle" align="left"><input type="text" maxlength="30" name="search1" size="30" value="<%=rs("search1")%>"></td>
        </tr>
                <tr>
          <td valign="top" align="left" width="200">Keyword 2:</td>
          <td valign="middle" align="left"><input type="text" maxlength="30" name="search2" size="30" value="<%=rs("search2")%>"></td>
        </tr>
                        <tr>
          <td valign="top" align="left" width="200">Keyword 3:</td>
          <td valign="middle" align="left"><input type="text" maxlength="30" name="search3" size="30" value="<%=rs("search3")%>"></td>
        </tr>
                                <tr>
          <td valign="top" align="left" width="200">Keyword 4:</td>
          <td valign="middle" align="left"><input type="text" maxlength="30" name="search4" size="30" value="<%=rs("search4")%>"></td>
        </tr>
                                        <tr>
          <td valign="top" align="left" width="200">Keyword 5:<input type="hidden" name="id" value="<%=rs("id")%>"></td>
          <td valign="middle" align="left"><input type="text" maxlength="30" name="search5" size="30" value="<%=rs("search5")%>"></td>
        </tr>
       
        <tr>
          <td valign="middle" align="center" colspan="2" class=linered><br><input type="submit" value="Submit link to collection" name="edit"><br><br></td>
        </tr>
      </table></td></tr><tr><td valign="middle" height="20"></form>
      <%
End Select
%>
Avatar billede eagleeye Praktikant
25. maj 2003 - 20:22 #8
Arh denne :

If (rs.BOF Or rs.EOF) Then


Skal jo laves om så den netop kun opdater hvis den har fundet en recrods med det rigtige ID. Så prøv med:

If NOT (rs.BOF or rs.EOF) Then
Avatar billede html_wizard Nybegynder
25. maj 2003 - 20:29 #9
Det er intet mindre ind FÆNOMENALT

du er en guttermand!

Tak
Avatar billede html_wizard Nybegynder
25. maj 2003 - 20:32 #10
Kig forbi http://www.guide2html.com og fortæl mig hvad du synes
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

IT-JOB

Capgemini Danmark A/S

Market Segment Lead, CPRD

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Senior projektkonsulent til program Digital og Operativ Transformation

Riskpoint A/S (Riskpoint Solutions Limited)

Senior Developer