/ / Wysyłanie parametru do kodu z procesem przechowywanym - asp.net, sql-server, stored-procedures

Przesyłanie parametru do kodu z procesem przechowywanym - asp.net, sql-server, stored-procedures

Używam a FormView i związanie go z SqlDataSource za pomocą procedury składowanej do edycji rekordu. Chodzi o to, że po aktualizacji rekordu muszę zadzwonić do innej funkcji, którą robię używając onClick atrybut przycisku.

Ta funkcja musi wstawić kilka rekordów do innej tabeli, używając ID rekordu edytowanego w pliku FormView. Wiem, jak korzystać SCOPE_IDENTITY kiedy w tej samej procedurze przechowywanej, ale tym razem potrzebuję pewnej logiki, która jest łatwiejsza do wykonania w kodzie z tyłu, ale nie wiem, jak uzyskać identyfikator, więc wszelkie potencjalne szanse będą świetne.

Oto przycisk:

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

A oto obnażona wersja kodu:

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);
}

Procedura przechowywana jest prosta UPDATE komunikat.

Zastanawiam się nad przekazaniem parametru do kodu, ale nie jestem pewien jak, może coś takiego OnClick="setProcessProgress(@id)"

Odpowiedzi:

1 dla odpowiedzi № 1

spróbuj tak i musisz dołączyć OnCommand="CommandEventHandler" obsługa zdarzeń do Twojego przycisku. sprawdź więcej informacji Button.Command

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

i kod do uzyskania identyfikatora

protected void CommandBtn_Click(Object sender, CommandEventArgs e)

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

0 dla odpowiedzi nr 2

Możesz użyć parametru out dla procedury magazynu aktualizacji. To da ci identyfikator po

aktualizacja.

Następnie możesz użyć identyfikatora do wstawienia.

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