Ciao!
Direi innanzitutto di non crearti problemi inutili col cursore..
Credimi, è tutto molto più semplice..
Ammettiamo che tu abbia un gridview con all'interno un resultset dato da
"select id_cliente,nome, indirizzo from Clienti"
dove la definizione della tabella è
create table Clienti
(id_Cliente int identity(1,1) primary key,
nome varchar(100),
indirizzo varchar(255)
)
insert Clienti
select 'Alessandro', 'Via Roma 10'
insert Clienti
select 'Andrea', 'Via Belvedere 5'
insert Clienti
select 'Alessia', 'Via Venezia 20'
insert Clienti
select 'Francesco', 'Via Roma 35'
insert Clienti
select 'Filippo', 'Via Piacenza 7'
Imposta la proprietà DataKeyNames="Id_Cliente" sul gridview. In questo modo definisci qual è la chiave della tua tabella dove le eventuali update e delete verranno eseguite.
Imposta il deletecommand nel SqlDataSource ed aggiungi i parametri. Ecco come ti apparirà il SQLDataSource:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="tua_connectionstring"
SelectCommand="SELECT [id_Cliente], [nome], [indirizzo] FROM [Clienti]"
DeleteCommand="DELETE FROM Clienti WHERE id_Cliente = @id_Cliente">
<DeleteParameters>
<asp:Parameter Direction="Input" Name="id_Cliente" Type="int32" />
</DeleteParameters>
</asp:SqlDataSource>
@id_Cliente è il parametro definito sotto nell'SQLDataSource.
Tutto qui.
L'evento di cancellazione è eseguito automaticamente.
L'importante è che il parametro abbia lo stesso nome del campo chiave, con la @ all'inizio
ciao!
Alx81 =)
http://blogs.dotnethell.it/suxstellino