[ASP] Record wordt niet verwijdert.

Pagina: 1
Acties:

  • Alpha-sphere
  • Registratie: Januari 2001
  • Laatst online: 14-12-2021
He gasten,

Ik heb een ASP scriptje gemaakt dat een record moet verwijderen maar hij verwijdert niks en geeft ook geen foutmelding aan.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<%
frmEdit=Request.Form("edit")
frmDelete=Request.Form("Delete")

Set connectionToDatabase=Server.CreateObject("ADODB.Connection")
connectionToDatabase.ConnectionTimeout=60
connectionToDatabase.Open "DSN=test"

Set recordSet=Server.CreateObject("ADODB.Recordset")
recordSet.Open "SELECT * FROM voorstelling",connectionToDatabase,1,2

If response.IsClientConnected = true then
    Response.Write("<center><table border=1><tr><th>Voorstelling</th><th>Datum</th><th>Tijd</th><th>Select</th></tr>")

Do While Not recordSet.EOF
            Response.Write("<form action='test4a.asp' method='post'>")
            Response.Write("<TR>")
            Response.Write("<TD>" & recordSet("Naam") & "</TD>")
            Response.Write("<TD>" & recordSet("Datum") & "</TD>")
            Response.Write("<TD>" & recordSet("Tijd") & "</TD>")
            Response.Write("<TD><input type='Radio' name='Radio' value='" & recordSet("Naam") & "'></TD>")
            Response.Write("</TR>")
            recordSet.MoveNext
Loop
Response.Write("</table></center>")
Response.Write("<br><center><input type='Submit' name='edit' value='edit'>&nbsp;&nbsp;&nbsp;&nbsp;<input type='Submit' name='delete' value='delete'></center></form>")

else
    Response.End
End If

sqlStatement="DELETE FROM voorstelling WHERE Naam ='"& frmDelete &"'" 
Set recordSet=connectionToDatabase.Execute(sqlStatement)

connectionToDatabase.Close
Set connectionToDatabase=Nothing
%>

Zoals je ziet maak ik gebruik van radio buttons om een record te selecteren. Dit scriptje heet test4a.asp en de form action verwijst weer terug naar deze pagina zoals je ziet. Eerst had ik het verwezen naar een andere asp scriptje maar dat werkt ook niet.

Wat doe ik nou weer fout? :(

Assume there are no rules and it's one big free for all


Verwijderd

Je laat eerst de lijst zien en dan delete je een record -> het kan dus zijn dat je een record laat zien wat al gedelete is!

  • whoami
  • Registratie: December 2000
  • Laatst online: 06:24
Welke fout krijg je?

https://fgheysels.github.io/


  • Alpha-sphere
  • Registratie: Januari 2001
  • Laatst online: 14-12-2021
ik heb het meerdere malen geprobeerd maar er wordt niks verwijdert. Als de lijst eerst wordt weergegeven en dan pas wordt de record verwijdert dan zou ik op z'n minst moeten zien dat het verwijdert is als ik nog een keer deze scriptje open.

Assume there are no rules and it's one big free for all


  • Alpha-sphere
  • Registratie: Januari 2001
  • Laatst online: 14-12-2021
Ik krijg helemaal geen fout. er wordt gewoon niks verwijdert

Assume there are no rules and it's one big free for all


Verwijderd

en met een andere recordset voor het deleten?

  • Alpha-sphere
  • Registratie: Januari 2001
  • Laatst online: 14-12-2021
Hoe bedoel je? :?
Ik ben nog een newbie. weet nog niet alles van asp

Assume there are no rules and it's one big free for all


Verwijderd

Uhhh :?

wat probeer je eigenlijk, welk record moet je delete statement verwijderen???

De value van delete is namelijk "delete" ?!
De value van delete zou een record naam moeten zijn.

  • Alpha-sphere
  • Registratie: Januari 2001
  • Laatst online: 14-12-2021
Euuuh. De value van een knopje is toch de naam dat wordt weergegeven op het knopje als je het weergegeven krijgt.

Ik heb de value verandert naar hahahahaha en als ik dan de pagina weergeef dan zie ik op het knopje hahahahaha staan.

En wat ie moet deleten is datgene wat je hebt geselecteerd bij de radiobutton.

Assume there are no rules and it's one big free for all


  • Alpha-sphere
  • Registratie: Januari 2001
  • Laatst online: 14-12-2021
Come on. Dit is toch de GOT? is er nou echt niemand die het ziet? Ik heb maar tot 11 uur op school internet dus het zou Fantastisch zijn als ik het voor 11 uur heb opgelost.

Assume there are no rules and it's one big free for all


Verwijderd

Probeer dit eens te veranderen:
code:
1
2
sqlStatement="DELETE FROM voorstelling WHERE Naam ='"& frmDelete &"'" 
Set recordSet=connectionToDatabase.Execute(sqlStatement)

in:
code:
1
2
sqlStatement="DELETE FROM voorstelling WHERE Naam ='"& frmDelete &"'" 
connectionToDatabase.Execute(sqlStatement)

Verwijderd

Dat klopt, maar je gebruikt die value wel in je SQL statement frmDelete = request.form("delete") en daarna koppel je frmDelete aan je SQL statement.

je moet frmDelete koppelen aan je radiobutton !
vb. als je radiobutton de name "record1" heeft dan wordt het
frmDelete = request.form("record1") en dan klopt je SQL staement ook!

Hoop je hiermee te helpen

  • Alpha-sphere
  • Registratie: Januari 2001
  • Laatst online: 14-12-2021
Nope werkt ook niet.
Er wordt nog steeds niks verwijdert.

Assume there are no rules and it's one big free for all


Verwijderd

Kun je de code nog eens posten zoals je hem nu hebt?

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 15-09 19:11

Crazy D

I think we should take a look.

Print je delete query eens naar het scherm i.p.v. laten uitvoeren, als er iets mis mee is, kun je dat meteen zien.
En je kan 'm ook meteen binnen Access oid laten uitvoeren om te zien of het dan wel werkt.

Exact expert nodig?


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 11:21

Janoz

Moderator Devschuur®

!litemod

Print je sql query toch eens, dan zie je wel wat er fout gaat!

Als je in je query eens frmDelete vervangt door Request.form("Radio") en ophoud te blaten over "Come on. Dit is toch de GOT? is er nou echt niemand die het ziet?"..

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Alpha-sphere
  • Registratie: Januari 2001
  • Laatst online: 14-12-2021
Als ik 'm print dan krijg ik deze foutmelding.
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E0C)
Command text was not set for the command object.
/test4a.asp, line 41

En met dat come on...... gebeuren was ik gewoon de thread aan het up kicken

Assume there are no rules and it's one big free for all


  • axis
  • Registratie: Juni 2000
  • Laatst online: 26-01-2023
als het een sql server database is, kun je de profiler aanzetten. dan zie je ELKE query die gerund word op de server..

ideaal voor troubleshooten

Two advices for network troubleshooting.. learn to draw diagrams in Visio, and THINK IN LAYERS!


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 11:21

Janoz

Moderator Devschuur®

!litemod

Met printen bedoel ik natuurlijk gewoon:
code:
1
Response.Write(sqlStatement);

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 15-09 19:11

Crazy D

I think we should take a look.

Op maandag 14 januari 2002 10:44 schreef Yilkee het volgende:
Als ik 'm print dan krijg ik deze foutmelding.
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E0C)
Command text was not set for the command object.
/test4a.asp, line 41
Mwah lijkt me duidelijk :P

Overigens hoef je niet set recordset = connectie.Execute() te doen, aangezien een delete query geen records teruggeeft.
Print eens je sqlstring zoals je die opbouwt, dus niet via een object of zo...

Exact expert nodig?


  • Alpha-sphere
  • Registratie: Januari 2001
  • Laatst online: 14-12-2021
Hmmm ik heb dat gedaan en hij laad gewoon de pagina. Ik krijg niks bijzonders te zien. Niks dat ik ander niet zou zien.

Assume there are no rules and it's one big free for all


  • Alpha-sphere
  • Registratie: Januari 2001
  • Laatst online: 14-12-2021
Op maandag 14 januari 2002 10:52 schreef CrazyD_at_work het volgende:

[..]

Mwah lijkt me duidelijk :P

Overigens hoef je niet set recordset = connectie.Execute() te doen, aangezien een delete query geen records teruggeeft.
Print eens je sqlstring zoals je die opbouwt, dus niet via een object of zo...
Dit krijg ik op m'n scherm
DELETE FROM voorstelling WHERE Naam =''

Assume there are no rules and it's one big free for all


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 15-09 19:11

Crazy D

I think we should take a look.

Op maandag 14 januari 2002 10:57 schreef Yilkee het volgende:
Dit krijg ik op m'n scherm
DELETE FROM voorstelling WHERE Naam =''
Nou dan lijkt me je probleem dus duidelijk. Tenzij je een record hebt waar Naam leeg is, zal 'ie nooit wat deleten. Je query is dus niet het probleem, maar het uitlezen van je form. Dan zou ik eerst daar maar even op gaan oefenen, en met response.write-jes de form-waarde(s) uitspugen, en pas als die naar je wens zijn, verder gaan met je query.

Exact expert nodig?

Pagina: 1