Avatar billede remo27 Nybegynder
25. juli 2007 - 22:54 Der er 18 kommentarer og
2 løsninger

slet post fra en database

Hvad er der galt her?? mit slet en post fra en database virker ikke.

<meta http-equiv="Content-Language" content="da">
<!-- #include file="../databaseforbindelse.asp"-->
<%

If Request.QueryString("mode") = "delete" Then
  'Dim strSQL
  strSQL = "DELETE From ks where id=" & Request.QueryString("id")
  Response.Write "SQLDebug: [" & strSQL & "]<br>" & vbCrLf
  Conn.Execute strSQL
End If

%>
<table border="1" width="90%" cellpadding="0" cellspacing="0">
  <tr>
    <td class="topbar" align="center" width="90%">Her kan du slette i Køb/Salg databasen</td>
  </tr>
    <%
Set Query = Conn.Execute("SELECT * FROM ks ORDER BY dato DESC")
If (Not Query.BOF) And (Not Query.EOF) Then
  Query.MoveFirst
  While Not Query.EOF
%>

  <tr>
    <td width="90%"><%=Query("dato")%>&nbsp;<%=Query("overskrift")%>&nbsp;(<%=Query("emne")%>)&nbsp;<a href="default.asp?emne=admin&emne2=mode=delete&id=<%=Query("id")%>" target="_self">slet</a>
      <hr size="1">
    </td>
  </tr>
  <%
    Query.MoveNext
  Wend
End If
Query.Close
Set Query = Nothing
%>
</table>
Avatar billede keysersoze Ekspert
25. juli 2007 - 23:00 #1
du mangler et &-tegn;

default.asp?emne=admin&emne2=&mode=delete&id=<%=Query("id")%>
Avatar billede softspot Forsker
25. juli 2007 - 23:00 #2
Hvad skriver siden ud ved linien "SQLDebug: [...]"?

Får du en fejlmeddelelse når du forsøger at slette?

Typisk er det fordi querystring-parameteren der flettes sammen med SQL-sætningen ikke er sat, eller at der er typeuoverensstemmelse mellem indholdet af querystring-parameteren og den værdi der sammenlignes med i databasen (i dit tilfælde kunne id f.eks. være et tal, men querystring("id") kunne f.eks. være tom - hvilket jo ikke er et lovligt tal :)).
Avatar billede remo27 Nybegynder
25. juli 2007 - 23:09 #3
softspot>> Skriver intet :O(

keysersoze>> Prøvede at sætte din sætning ind, men det ændrer stadigvæk intet noget.
Avatar billede w13 Novice
25. juli 2007 - 23:26 #4
Er du sikker på, id sendes korrekt? DELETE giver nemlig ikke fejl, hvis posten ikke findes.
Avatar billede w13 Novice
25. juli 2007 - 23:26 #5
Og hvordan kan "SQLDebug: [...]" ikke skrive noget, når du lige har defineret strSQL!? :S
Avatar billede softspot Forsker
25. juli 2007 - 23:27 #6
Efter du indførte keysersoze's rettelse, skriver den så stadig ikke noget i SQLDebug?
Avatar billede remo27 Nybegynder
25. juli 2007 - 23:33 #7
softspot>> Nope

W13>> Aner det ikke
Avatar billede softspot Forsker
25. juli 2007 - 23:40 #8
Et dumt spørgsmål (men jeg må bare stille det): siden med den viste kode hedder vel default.asp, ikke sandt?
Avatar billede w13 Novice
25. juli 2007 - 23:43 #9
Og din kode er nu følgende?

<meta http-equiv="Content-Language" content="da">
<!-- #include file="../databaseforbindelse.asp"-->
<%

If Request.QueryString("mode") = "delete" Then
  'Dim strSQL
  strSQL = "DELETE From ks where id=" & Request.QueryString("id")
  Response.Write "SQLDebug: [" & strSQL & "]<br>" & vbCrLf
  Conn.Execute strSQL
End If

%>
<table border="1" width="90%" cellpadding="0" cellspacing="0">
  <tr>
    <td class="topbar" align="center" width="90%">Her kan du slette i Køb/Salg databasen</td>
  </tr>
    <%
Set Query = Conn.Execute("SELECT * FROM ks ORDER BY dato DESC")
If (Not Query.BOF) And (Not Query.EOF) Then
  Query.MoveFirst
  While Not Query.EOF
%>

  <tr>
    <td width="90%"><%=Query("dato")%>&nbsp;<%=Query("overskrift")%>&nbsp;(<%=Query("emne")%>)&nbsp;<a href="default.asp?emne=admin&mode=delete&id=<%=Query("id")%>" target="_self">slet</a>
      <hr size="1">
    </td>
  </tr>
  <%
    Query.MoveNext
  Wend
End If
Query.Close
Set Query = Nothing
%>
</table>
Avatar billede remo27 Nybegynder
26. juli 2007 - 00:01 #10
softspot>> siden hedder sletks.asp som ligger i en mappe som hedder admin.

sletks.asp bliver hentet kaldt frem fra en index.asp som også ligger i mappen admin, det er kun administrator som kan bruge sletks.asp.

min index.asp ser således ud.

<!-- #include file="headerinfo.asp" -->
<% if session("id") = "" then %>
<!-- her kan du putte ting der skal vises, hvis man IKKE er logget ind -->
<a href="login.asp">login</a>
<% end if %>

<%
if session("id") <> "" then
%>
<!-- her kan du putte ting der skal vises, hvis man ER logget ind -->
<center>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="90%">
  <tr>
    <td width="100%" class="topbar" align="center">Administrator siden</td>
  </tr>
  <tr>
    <td width="100%">Velkommen til administrator siden. På denne side kan du
    rette i dine oplysninger, uploade billeder til dit visitkort, tilføje
    guldkorn til hjemmesiden, oprette annonce til køb/salg.</td>
  </tr>
  <tr>
    <td width="100%" align="center">&nbsp; <a href="admin/logout.asp">Log ud</a> |&nbsp; <a href="default.asp?emne=admin&emne2=retinfo">Rediger info</a> |
    <a href="default.asp?emne=admin&emne2=guldkorn">Tilføje Guldkorn</a>| <a href="default.asp?emne=admin&emne2=uppic">Upload billeder</a> | <a href="default.asp?emne=admin&emne2=upks">Køb/Salg </a>| <a href="default.asp?emne=admin&emne2=ide">Opret opskrift/ide </a>|

<% if session("status") = "admin" then %><br><br>
<a href="default.asp?emne=admin&emne2=admin">admin-sektionen</a>|<a href="default.asp?emne=admin&emne2=tfk">tilføj kalender</a>|<a href="default.asp?emne=admin&emne2=updoc"> upload doc</a>|
<% end if %><% end if %><a href="default.asp?emne=admin&emne2=sletks">Slet i køb/Salg</a></td>
  </tr>
</table>








<br>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="90%">
  <tr>
    <td width="100%">
    <% if Trim(Request.QueryString("emne2")) = "retinfo" then %>
<!--#include file="redigerinfo.asp" -->
<%end if%>
    <% if Trim(Request.QueryString("emne2")) = "admin" then %>
<!--#include file="admin.asp" -->
<%end if%>
<% if Trim(Request.QueryString("emne2")) = "guldkorn" then %>
<!--#include file="upcitat.asp" -->
<%end if%>
<% if Trim(Request.QueryString("emne2")) = "uppic" then %>
<!--#include file="uploadgfx.asp" -->
<%end if%>
<% if Trim(Request.QueryString("emne2")) = "tfk" then %>
<!--#include file="upkal.asp" -->
<%end if%>
<% if Trim(Request.QueryString("emne2")) = "updoc" then %>
<!--#include file="uploaddoc.asp" -->
<%end if%>
<% if Trim(Request.QueryString("emne2")) = "upks" then %>
<!--#include file="ks.asp" -->
<%end if%>
<% if Trim(Request.QueryString("emne2")) = "ide" then %>
<!--#include file="ide.asp" -->
<%end if%>
<% if Trim(Request.QueryString("emne2")) = "sletks" then %>
<!--#include file="sletks.asp" -->
<%end if%>&nbsp;</td>
  </tr>
</table>
<br>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="90%">
  <tr>
    <td width="50%" valign="top">
    <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
      <tr>
        <td width="100%">
        <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
          <tr>
        <td width="100%" align="center" class="topbar">Opskrifter</td>
      </tr>
      <tr>
        <td width="100%" align="center"><MARQUEE onmouseover='this.stop();' onmouseout='this.start();' scrollamount='1' scrolldelay='75' top='0' left='0' width='100' height='70' direction="up"><!-- #include file="../visopskrift.asp"--></marquee></td>
      </tr>

          <tr>
        <td width="100%" align="center" class="topbar">ide</td>
      </tr>
      <tr>
        <td width="100%" align="center"><MARQUEE onmouseover='this.stop();' onmouseout='this.start();' scrollamount='1' scrolldelay='75' top='0' left='0' width='100' height='70' direction="up"><!-- #include file="../viside.asp"--></marquee></td>
      </tr>

            <tr>
            <td width="100%" class="topbar" align="center">Forum</td>
          </tr>
        </table>
        </td>
      </tr>
      <tr>
        <td width="100%"><!-- #include file="../forum/forum.asp"--></td>
      </tr>
        <tr>
        <td width="100%">&nbsp;</td>
      </tr>
      <tr>
        <td width="100%"><% if Trim(Request.QueryString("emne2")) = "nybesked" then %>
<!--#include file="../forum/nybesked.asp" -->
<%end if%>
<% if Trim(Request.QueryString("emne2")) = "sebesked" then %>
<!--#include file="../forum/sebesked.asp" -->
<%end if%>
<% if Trim(Request.QueryString("emne2")) = "nybesvarelse" then %>
<!--#include file="../forum/nybesvarelse.asp" -->
<%end if%></td>
      </tr>
   
    </table>
    </td>
    <td width="50%" valign="top">
    <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
            <tr>
        <td width="100%" align="center" class="topbar">Salg</td>
      </tr>
      <tr>
        <td width="100%" align="center"><MARQUEE onmouseover='this.stop();' onmouseout='this.start();' scrollamount='1' scrolldelay='75' top='0' left='0' width='100' height='70' direction="up"><!-- #include file="../salg.asp"--></marquee></td>
      </tr>
      <tr>
        <td width="100%" align="center" class="topbar">køb</td>
      </tr>
      <tr>
        <td width="100%" align="center"><MARQUEE onmouseover='this.stop();' onmouseout='this.start();' scrollamount='1' scrolldelay='75' top='0' left='0' width='100' height='70' direction="up"><!-- #include file="../koeb.asp"--></marquee></td>
      </tr>
      <tr>
        <td width="100%"><!-- #include file="download.asp"--></td>
      </tr>
    </table>
    </td>
  </tr>
</table>
</center>
Avatar billede softspot Forsker
26. juli 2007 - 00:06 #11
Burde der så ikke stå index.asp i stedet for default.asp i dine links til sletning?
Avatar billede softspot Forsker
26. juli 2007 - 00:08 #12
eller sletks.asp (jeg kan ikke helt gennemskue din filstruktur, men du kan muligvis selv se det hvis linket til sletning er forkert - nu da du er gjort opmærksom på den mulige fejlkilde...)
Avatar billede kalp Novice
26. juli 2007 - 00:25 #13
prøv

td width="90%"><%=Query("dato")%>&nbsp;<%=Query("overskrift")%>&nbsp;(<%=Query("emne")%>)&nbsp;<a href="?emne=admin&emne2=&mode=delete&id=<%=Query("id")%>
Avatar billede thesurfer Nybegynder
26. juli 2007 - 00:36 #14
Lige et par noter til IF-INCLUDE-delen..

1) Hvis man skal checke samme querystring flere gange, er det klart bedre at smide værdien i en variabel, fremfor at skulle arbejde hver eneste gang.
Man siger jo heller ikke "(2 + 2) + ..." hver gang, men bare "4 + ..."

2) Select Case er bedre end en massse IF-sætninger.

Derfor:

dim q

q = Trim(Request.QueryString("emne2"))

select case q

case "retinfo"
%>
<!--#include file="redigerinfo.asp" -->
<%
case "admin"
%>
<!--#include file="admin.asp" -->
<%
' osv

' Og til slut, hvis man selv har indtastet noget der ikke passer med de eksisterende filer:

case else
%>
<!--#include file="fejl.asp" -->
<%
end select
%>


Man behøver naturligvis ikke at inkludere noget, hvis man selv har rettet i "emne2" i urlen.. man kunne også bare skrive en tekst, der fortæller brugen at siden ikke kunne findes..
Avatar billede kalp Novice
31. juli 2007 - 23:49 #15
remo27  >> blev det løst? og hvis ja hvordan
Avatar billede remo27 Nybegynder
01. august 2007 - 00:09 #16
jeg kan ikke få det til at virke. Nu lukker jeg dette spørgsmål igen. Dem af jer som vil have point drop et svar.
Avatar billede thesurfer Nybegynder
01. august 2007 - 00:21 #17
Ingen points til mig, tak.
Avatar billede softspot Forsker
01. august 2007 - 00:23 #18
heller ikke her...
Avatar billede w13 Novice
01. august 2007 - 02:49 #19
Du ta'r dem bare. :)
Avatar billede remo27 Nybegynder
01. august 2007 - 21:46 #20
lukker
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