Article View: alt.pl.comp.lang.csharp
Article #598Re: Usuwanie wiersza: delete method, stored procedure
From: Grzegorz Gruza
Date: Fri, 19 Mar 2004 07:34
Date: Fri, 19 Mar 2004 07:34
63 lines
3547 bytes
3547 bytes
U�ytkownik "pe3no" <pe...@DELETE.o2.pl> napisa� w wiadomo�ci
news:c3dfpr$ch5$1@atlantis.news.tpi.pl...
[...]
> Mam baz� na SQL Server 2000, w kt�rej jest tabela "osoby" i 4 procedury
> sk�adowane "osoby_select", "osoby_insert", "osoby_update", "osoby_delete".
> Zgodnie z tym, co mi wpajaj� na studiach, chcia�bym logik� zawrze� w
bazie,
> a w .NET buduj� "cienkiego klienta", kt�ry b�dzie korzysta� z procedur
> sk�adowanych.
[...]
Je�eli piszesz aplikacje Windowsowe, to IMHO na dzie� dzisiejszy posiadanie
frameworka jest du�ym wymaganiem - st�d te� klient nie b�dzie zbyt cie�ki,
je�eli chodzi o wymagania sprz�towe:-) Ale wyk�adowcom chodzi pewnie o to,
�e logika jest poza klientem.
> Nie mam jednak absolutnie poj�cia, jak wzi�� si� do zrealizowania usuwania
> danych. Gdybym mia� datagrida, nie by�oby w og�le o czym m�wi�: zaznaczam
> wiersz, naciskam klawisz delete i przy wywo�aniu metody Update,
dataadapter
> u�y�by procedury sk�adowanej osoby_delete dla usuni�tego wiersza, dla
> wstawionych - osoby_insert, dla zmodyfikowanych-osoby_update. Ale ja nie
> u�ywam, niestety datagrida, a dane widz� na formie w textboxach,
comboboxach
> i listboxie.
>
> 1 Jak zatem usun�� z dataseta osob�, kt�rej id widz� w textboxie? W
ksi��ce
> ADO.NET step by step znalaz�em kawa�ek kodu:
>
> System.Data.DataRow dr;
> dr=GetRow(); //przechwytuj� bierz�cy wiers, kt�ry widz� na ekranie
> dr.Delete(); //usuwam go
>
> ale jak wspomina�em, obiektowo�� kumam s�abo. Pr�ba skorzystania z tego
> przyk�adu w moim projekcie nie powiod�a si� - u mnie druga linijka wywala
> b��dy - nie kuma metody GetRow - nie wiem dlaczego? Pewnie trzeba co�
> wcze�niej zadeklarowa� - nie potrafi� - sorry za moj� niewiedz�.
[...]
A zadeklarowa�e� w klasie t� metod�?
Usuwanie danych pod przyciskiem mo�esz zrobi� wg poni�szego schematu.
commandDelete.Parameters["Id"].Value = Id;
connection.Open();
try
{
commandDelete.ExecuteNonQuery();
}
finally
{
connection.Close();
}
Oczywi�cie powinno si� doda� przechwytywanie wyj�tk�w, sprawdzenie
r�wnoczesno�ci (chodzi mi o t�umaczenie concurrent) zapis�w z wielu
klient�w - je�li konieczne.
Pozdrawiam
--
Grzegorz Gruza
gr...@spamerom_niepriv4.onet.pl
Odpowiadaj�c usu� spamerom_nie z adresu
Technical Details
Message-ID:
<c3e7qq$ci4$1@news.onet.pl>Path:
mbox-mo1.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-01!sn-xit-09!supernews.com!diablo.theplanet.net!newsfeed.esat.net!newsfeed.wirehub.nl!newsfeed.tpinternet.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mailReferences:
<c3dfpr$ch5$1@atlantis.news.tpi.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-01!sn-xit-09!supernews.com!diablo.theplanet.net!newsfeed.esat.net!newsfeed.wirehub.nl!newsfeed.tpinternet.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail From: "Grzegorz Gruza" <gr...@spamerom_niepriv4.onet.pl> Newsgroups: alt.pl.comp.lang.csharp,ms-news.pl.programowanie.dotnet Subject: Re: Usuwanie wiersza: delete method, stored procedure Date: Fri, 19 Mar 2004 08:34:52 +0100 Organization: news.onet.pl Lines: 65 Sender: gruza@priv4.onet.pl@62.233.146.126 Message-ID: <c3e7qq$ci4$1@news.onet.pl> References: <c3dfpr$ch5$1@atlantis.news.tpi.pl> NNTP-Posting-Host: 62.233.146.126 X-Trace: news.onet.pl 1079681690 12868 62.233.146.126 (19 Mar 2004 07:34:50 GMT) X-Complaints-To: ab...@onet.pl NNTP-Posting-Date: 19 Mar 2004 07:34:50 GMT X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1158 X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit