Avatar billede w13 Novice
09. februar 2004 - 20:04 Der er 4 kommentarer og
1 løsning

At slette og gemme

-Nej, jeg er kender ikke rigtig noget til ASP, men jeg har alligevel indtil nu været heldig og det har lykkedes mig at bygge et site... Bl.a. kan man, vha. login oprette nyheder...

-Nu har jeg forsøgt at rode lidt med noget ASP, så det er muligt ændre disse allerede oprettede nyheder. Koden skulle sådan set bare slette den gamle "række" i databasen og oprette en ny med de nye ændringer. Dog virker koden ikke... Det er egentlig meget mystik - jeg får ikke nogen fejlmelding, men får derimod at vide, at "ændringerne er gemt", men når jeg tjekker nyhederne igennem er der hverken blevet ændret eller slettet noget. Håber, nogen kan hjælpe... Dette er min kode:

<%
  Set rs = Server.CreateObject("ADODB.RecordSet")
  Set Conn = Server.CreateObject("ADODB.Connection")
  strDSN = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db/database.mdb")
  Conn.Open strDSN
 
strSQL = "SELECT * FROM nyhed WHERE id ="& request.querystring("id")

  response.Write "Ændringerne er nu gemt!"
  sql = "DELETE FROM nyhed WHERE id = '" & id & "'"

  strSQL = "SELECT * FROM nyhed"

  rs.Open strSQL, strDSN, 2, 2
  rs.AddNew

  rs("overskrift") = Request.Form("overskrift")
  rs("nyhed") = Request.Form("nyhed")
  rs("dato") = Request.Form("dato")

%>

-På forhånd tak...
W13
Avatar billede eagleeye Praktikant
09. februar 2004 - 20:21 #1
Det er fordi du ikke udføre din SQL sætning som sletter den ligger i variablen sql:
sql = "DELETE FROM nyhed WHERE id = '" & id & "'"

Den kode du har vist bruger variablen strSQL så derfor sker der ikke noget. :)
Men hvis du vil slette en post skal koden se sådan her ud, uden recordset:


<%
  Set rs = Server.CreateObject("ADODB.RecordSet")
  Set Conn = Server.CreateObject("ADODB.Connection")
  strDSN = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db/database.mdb")
  Conn.Open strDSN
 
  response.Write "Ændringerne er nu gemt!"
  sql = "DELETE FROM nyhed WHERE id = " & id

  'Kald execute for at slette den valgte post
  Conn.Execute(SQL)
%>
Avatar billede ellebaek Nybegynder
09. februar 2004 - 20:25 #2
<%
set rs = server.createobject("adodb.connection")
strDSN = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db/database.mdb")
rs.open strDSN
sql = "update nyhed set overskrift='"&request.form("overskrift")&"', nyhed='" & request.form("nyhed") & "', dato='"&request.form("dato")&"' where id=" & request.querystring("id")
set rs =rs.execute(sql)
%>
Avatar billede w13 Novice
09. februar 2004 - 20:28 #3
Jeg fik ellebaeks til at fungere, så pointene må gå til ham...
Avatar billede ellebaek Nybegynder
09. februar 2004 - 20:31 #4
Mange tak for points ;-)
..Ellebæk!
Avatar billede w13 Novice
09. februar 2004 - 20:49 #5
Har lige opdaget, jeg har endnu et spørgsmål... Opretter lige et nyt indlæg!
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