Newsgroup: it.comp.www.asp
Titolo: Cancellazione visuale da Database

Salve a tutto il ng,
oggi mi ponevo questo problema:
Vorrei avere a video una tabella del mio database ed avere la facoltà di
scegliere un record;
scelto il record, vorrei cliccare su un CommandButton denominato
"DELETE" e cancellare il record selezionato dal database (e quindi anche
dalla visualizzazione).
Ho fatto delle prove generiche di cancellazione, ma passando dei valori,
del tipo:
sql = DELETE FROM tabella WHERE campo1='".......................etc.
La mia difficoltà sta nel selezionare a video un record e rimuovere
proprio quello senza digitare valori da cancellare (cioè facendolo in
modo visuale).
Spero di essermi spiegato bene...
Mi farebbe piacere che qualcuno mi aiutasse.
Grazie 2000 anticipatamente.

 dalla visualizzazione).
Possiamo suddividere il problema in due: 1. identificare il record, 2:
eseguire
la cancellazione.
Mi viene in mente tale soluzione:
Ovviemente tu visualizzi la tabella mediante un ciclo che "passa" tutti i
record,
ora, non e' difficile durante il ciclo aggiungere ai dati un CheckBox che
come
"value" contenga la chiave primaria (PK) del record in questione. In questo
modo per ogni record tu hai un check box che ti permette di identificare il
singolo record.
A questo punto basta attaccare una procedura al bottone "cancella" che si
legge tutti i check box e per quelli "valorizzati" (col segno di spunta),
procede ad eseguire una DELETE FROM...WHERE, leggendo la clausola WHERE
dal Value del CheckBox stesso.
Spero che questo possa metterti sulla buona strada.
Davide

 che come "value" contenga la chiave primaria (PK) del record in questione.
Come faccio a fare in modo che la mia chiave primaria del database venga
assegnata ad una proprietą del checkbox? Ovvero, che proprietą ha il checkbox
in cui inserire il valore di una variabile (nel particolare la chiave primaria
del mio database)?
Come faccio a realizzare tale assegnazione???
Io ho fatto, nel ciclo di visualizzazione, <INPUT TYPE="checkbox"
NAME="Selezione" VALUE=???>
E' questo il VALUE cui ti riferisci???
Dopo fatta l'assegnazione, con quali istruzioni faccio il test se i checkbox
sono attivi o meno???
Scusa per il fastidio che ti sto arrecando; poi ti offro una pizza!

 Scusa per il fastidio che ti sto arrecando; poi ti offro una pizza!
He He He.... io sto' in Olanda.... voglio proprio vederti.... :P
Davide

Per favore, esamineresti i miei script???
Questo è il mio documento di visualizzazione (visuald2.asp)
<%@ LANGUAGE="VBScript" %>
<%Response.Expires=0%>
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
<TITLE>Paging Records</TITLE>
</HEAD>
<BODY>
<FONT FACE="courier new">
<%
'Dichiarazione variabili per la connessione e l'interrogazione al database
Dim ObjConnection
Dim ObjRecordset
'Connessione all'ocx ADO ed apertura del database tramite oggetto SERVER di ASP
set ObjConnection=Server.CreateObject("ADODB.Connection")
objConnection.Open "ProvaMDB", "", ""
'Connessione ADO del Recordset e selezione dei campi nella tabella del database
set ObjRecordset=Server.CreateObject("ADODB.Recordset")
objRecordset.Open "SELECT id_cliente, soc_name, city FROM clienti",
ObjConnection
%>
<!-- Creazione della tabella di intestazione di visualizzazione -->
<TABLE BORDER=1>
 <TR>
 <TH>Società</TH>
 <TH>Città</TH>
        <TH>Identificativo</TH>
 </TR>
<%
    Dim contatore
    contatore=1
    Do While (Not objRecordset.EOF)
%>
<!-- Attuazione del ciclo While per la visualizzazione dei campi del database
-->
 <TR>
 <TD><%=objRecordset("soc_name")%></TD>
        <TD><%=objRecordset("city")%></TD>
        <TD><INPUT TYPE="CHECKBOX" NAME='"CHECK" & contatore'
VALUE=<%=ObjRecordset.Fields("id_cliente")%>></td>
        </TR>
<%
        objRecordset.MoveNext
        contatore=contatore+1
    Loop
%>
</TABLE>
<form method="POST" action="delete.asp">
     <input type="submit" value="cancella" name="cancella">
</form>
</BODY>
</HTML>
Questo invece è il mio codice di cancellazione (docum.: delete.asp)
<%@ LANGUAGE="VBScript" %>
<%Response.Expires=0%>
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
<TITLE>Paging Records</TITLE>
</HEAD>
<BODY>
<FONT FACE="courier new">
<%
'Dichiarazione variabili per la connessione e l'interrogazione al database
Dim ObjConnection
Dim count
Dim sql
'Connessione all'ocx ADO ed apertura del database tramite oggetto SERVER di ASP
set ObjConnection=Server.CreateObject("ADODB.Connection")
objConnection.Open "ProvaMDB", "", ""
sql = ""
FOR count=1 to contatore
   IF Request("CHECK" & count).Value <> "" THEN
      sql = "DELETE FROM clienti WHERE id_cliente=" & Request("CHECK" &
count).Value
   END IF
objConnection.Execute( sql )
NEXT
%>
</BODY>
</HTML>
Domande:
Come passo la variabile contatore da un documento ad un altro???
E' corretta la sintassi del codice evidenziato in arancione???
Perchè non è valida la struttura in verde??? Come la correggo visto che mi da'
'metodo non valido'??? Request.Value è una proprietà esistente (non l'ho trovata
sul
mio testo) ???
Grazie di nuovo per la tua disponibilità, propria delle persone intelligenti e
preparate.
Per quanto riguarda la pizza, posso ospitarti a casa mia (Salerno) e portarti a
mangiarla a Napoli che ne è la patria. ;-)

Davide
Come in Olanda?
Io volevo ringraziarti per l'aiuto che hai dato a me.
E ora chi le mangia tutte queste pizze? :-(
Ciao
Giangi

 wrote in message
news:8h64ro$o34$1...@nslave1.tin.it...
