/ / Invio di parametri al codice nascosto dalla stored procedure - asp.net, sql-server, stored procedure

Invio di parametri a code behind dalla stored procedure - asp.net, sql-server, stored-procedures

Sto usando un FormView e legandolo a a SqlDataSource utilizzando una stored procedure per modificare un record. Il fatto è che dopo aver aggiornato il record ho bisogno di chiamare un'altra funzione, che sto facendo usando il onClick attributo del pulsante.

Questa funzione deve inserire alcuni record in un'altra tabella, usando l'ID del record modificato nel FormView. So come usare SCOPE_IDENTITY quando nella stessa stored procedure, ma questa volta ho bisogno di una logica che è più facile da realizzare nel code-behind, ma non so come ottenere l'ID, quindi qualsiasi lead sarebbe grande.

Ecco il pulsante:

 <asp:Button ID="EditButton" runat="server" CausesValidation="True" CommandName="Update"
Text="Edit" OnClick="setProcessProgress" />

Ed ecco una versione ridotta del codice dietro:

protected void setProcessProgress(object sender, EventArgs e)
{
int ID_p;
ID_p = ; //TODO: Here I need to obtain the ID of the last edited record from the EditButton
setProgress(ID_p);
}

La stored procedure è semplice UPDATE dichiarazione.

Sto pensando di passare un parametro al codice, ma non sono sicuro di come, forse qualcosa del genere OnClick="setProcessProgress(@id)"

risposte:

1 per risposta № 1

prova in questo modo e devi allegare OnCommand="CommandEventHandler" gestore di eventi al tuo pulsante. controlla per maggiori informazioni Button.Command

<asp:Button ID="EditButton" runat="server" CausesValidation="True" CommandName="Update"
Text="Edit"
CommandArgument="1"
OnCommand="CommandBtn_Click" />

e il codice per ottenere l'ID

protected void CommandBtn_Click(Object sender, CommandEventArgs e)

{ if (e.CommandName == "Update")
{
yourID =Convert.ToInt32(e.CommandArgument);
}
}

0 per risposta № 2

È possibile utilizzare il parametro out per la procedura dell'archivio degli aggiornamenti. Questo ti darà l'ID dopo

aggiornare.

Quindi puoi usare l'ID per il tuo inserto.

http://blogs.msdn.com/b/spike/archive/2009/05/07/a-simple-example-on-how-to-get-return-and-out-parameter-values-using-ado-net.aspx