Avatar billede dj-sejler Praktikant
21. november 2002 - 15:46 Der er 3 kommentarer og
1 løsning

Ret indholdet i en databasen

Jeg har en database med følgende felter:
[id]
[kat]
[link]
[besk]

Men så ville jeg gerne have at jeg kunne redigere indholdet i felterne...
[id] giver sig selv da det er autonummereing.

Men det må også meget gerne være sådan at man søg i et felt og får så hele indholdet hvis og kan så redigere og sender tilbage.

Min tilføj form ser sådan ud:

<%
If Request.Form("Add") <> "" Then
    strError = ""
    strKat = Trim(Request.Form("Kat"))
    strLink = Trim(Request.Form("Link"))
    strBesk = Trim(Request.Form("Besk"))

    If Len(strKat) = 0 Then
        strError = "Du skal vælge en kategori!"
    ElseIf Len(strLink) = 0 Then
        strError = "Du skal skrive en gyldig internetadresse!"
    ElseIf Len(strBesk) = 0 Then
        strError = "Du skal skrive en beskrivelse af linket!"
    End If
        If Len(strError) = 0 Then

        Set rstemp = Server.CreateObject("ADODB.Recordset")
        strSQL = "SELECT * FROM link WHERE (ID = 0)"
        strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../log/master.mdb")
        rstemp.Open strSQL, strDSN, 1, 3
        If (rstemp.BOF Or rstemp.EOF) Then
            rstemp.AddNew
            rstemp("Kat") = RemoveHTML(strKat)
            rstemp("Link") = RemoveHTML(strLink)
            rstemp("Besk") = RemoveHTML(strBesk)
            rstemp.Update
        End If
        rstemp.Close
        Set rstemp = Nothing
        Response.Redirect("../best/login/master/master.asp")
    Else
        strError = "<p><font face=verdana size=1 color=#FFFFFF><b>"& strError &"</b></font></p>"
        strMode = "add"
    End If
End If
%>

<!--#include file="function.asp"-->

<form method="POST" action="tilfoej.asp">
  <div align="center">
    <center>
    <table border="0" width="75%" cellspacing="0" cellpadding="0" height="223">
      <tr>
        <td width="100%" height="25"><%=strError%>
        </td>
      </tr>
      <tr>
        <td width="100%" height="25"><font face="Verdana" size="2">Kategori:</font><br>
    <select name="Kat" tabindex="1" value="<%=strKat%>">
    <option value="Kommunen">Kommunen</option>
    <option value="Sporten">Sporten</option>
    <option value="Klasseklub">Klasseklub</option>
    <option value="Maritime">Maritime</option>
    </select>
        </td>
      </tr>
      <tr>
        <td width="100%" height="25"><font face="Verdana" size="2">Link:</font><br>
          <input type="text" name="Link" size="28" class="box" tabindex="2" value="<%=strLink%>">
        </td>
      </tr>
      <tr>
        <td width="100%" height="21"><font face="Verdana" size="2">Beskrivelse:</font><br>
          <input type="text" name="Besk" size="28" class="box" tabindex="3" value="<%=strBesk%>">
        </td>
      </tr>
      <tr>
        <td width="100%" height="46"><br>
          <input type="submit" value="  Send  " name="Add" class="box" tabindex="4">&nbsp;&nbsp;
          <input type="button" value="  Fortryd  " name="Annuller" class="box" onClick="java script:location.href='../best/login/master/master.asp'" tabindex="5">
        </td>
      </tr>
    </table>
    </center>
  </div>
</form>

Er der nogen der kan hjælp??
Avatar billede eagleeye Praktikant
21. november 2002 - 17:29 #1
Vil du havde lavet koden om til så man kan opdater en record i databsen?

Jeg forstår ikke dette: "Men det må også meget gerne være sådan at man søg i et felt og får så hele indholdet hvis og kan så redigere og sender tilbage"

Vil du havde en søge side eller ??
Avatar billede dj-sejler Praktikant
21. november 2002 - 17:36 #2
--> eagleeye
Man skal på en eller anden måde finde den rigtige linie i databasen
og så rette den
Man skal altså rette indholdet ikke noget med at søge
Avatar billede eagleeye Praktikant
21. november 2002 - 17:37 #3
typisk vil man overføre et ID til siden eksvis:  ret.asp?id=33

Så kan man hendete det ID med Request.QueryString:

id = Request.QueryString("id")

Så laver man en SQL som hendter den ene record som man ønsker at rette:
SQL = "SELECT * FROM link WHERE id = " & id
Set rs = Conn.Execute(SQL)

Så ligger man data ind i noge variable som kan udskrive i form'en:

strKat = rs("kat")
strLink = rs("link")
strBesk = rs("besk")


På formen kan du så ligge værdien ind i value på på input feltet:

<input type="text" name="Besk" size="28" class="box" tabindex="3" value="<%=strBesk%>">

Så kan du også lave et hidden felt så man kan gemme id:
<input type="hidden" name="id" value="<%=id%>">



Du gemmer i datbasen ved at lave en update SQL:
SQL = "UPDATE link SET Kat = '" & RemoveHTML(Request.Form("kat")) & "', link = '" & RemoveHTML(Request.Form("link")) & "', besk = '" & RemoveHTML(Request.Form("kat")) & "' WHERE id = " & Request.Form("id")
Avatar billede dj-sejler Praktikant
22. november 2002 - 12:02 #4
Jeg ku sku :)
tak eagleeye
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