Avatar billede html_wizard Nybegynder
23. maj 2003 - 12:17 Der er 6 kommentarer og
1 løsning

ASP hjælp database

Jeg har forsøgt at lave en databse editor. Delete og new virker, men jeg har lidt problemer med edit.
Det ser ud til at virke fint når man kalder ved ?id=(#)
og når man submitter. Den kommer ikke med nogen fejlmelding, men den retter IKKE ændringerne i recorden.


<%

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

count = Request.Querystring("id")

    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 = " & count & ""
        rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic

            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
   
        rs.Close
        Set rs = Nothing
      conn.Close
      Response.redirect ("index.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%">
<%
number=Request.Querystring("id")

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

Select Case strMode
Case "add"
%>
<form method="POST" action="index.asp">
<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:</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 oasen Nybegynder
23. maj 2003 - 13:37 #1
Mnagler du ikke også en rs.Update lige efter, du har åbnet recordsættet?
Avatar billede html_wizard Nybegynder
23. maj 2003 - 13:59 #2
Jeg har tilføjet rs.update efter

Set rs = Server.CreateObject("ADODB.RecordSet")
        strSQL = "SELECT * FROM table1 where id = " & count & ""
        rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic

der er ingen ændring af udfaldet
Avatar billede oasen Nybegynder
23. maj 2003 - 14:04 #3
Hvorfor bruger du i øvrigt HTMLencode før opdateringerne?
Avatar billede html_wizard Nybegynder
23. maj 2003 - 14:05 #4
det er for at lave æøå osv om til html tegn
Avatar billede oasen Nybegynder
23. maj 2003 - 16:43 #5
Det skal du jo kun gøre, når teksten udskrives. Ikke i databasen!

Response.Write Server.HTMLencode(rs("Felt"))
Avatar billede html_wizard Nybegynder
23. maj 2003 - 17:04 #6
Det er vel op til en selv, hvis man kun skal se databasen i en browser er udfaldet vel samme.

Jeg var mere interesseret i at få løst mit problem som jeg har beskrevet. Kan du hjælpe mig med dette PLZ :-)
Avatar billede html_wizard Nybegynder
25. maj 2003 - 19:15 #7
a
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