Article View: alt.pl.comp.lang.csharp
Article #597Usuwanie wiersza: delete method, stored procedure
From: pe3no
Date: Fri, 19 Mar 2004 00:45
Date: Fri, 19 Mar 2004 00:45
56 lines
4382 bytes
4382 bytes
Cze��, mam na imi� Piotrek, witam serdecznie wszystkich Grupowicz�w. Na wst�pie chc� stwierdzi�, �e mimo i� studiuj� od prawie 3 lat informatyk�, w mojej wiedzy s� r�ne "bia�e plamy" albo "czarne dziury" - jak zwa�, tak zwa�. Mia�em solidnie wy�o�one programowanie strukturalne (by� Pascal 7.0). Potem Delphi (niby Object Pascal, ale zamiast nauki obiektowo�ci, by�a zabawa komponentami, wi�c obiektowo�ci zbytnio nie czuj�). Od niedawna nasi wyk�adowcy przeszli na .NET, ale mam wra�enie, �e i oni dopiero si� ucz�, wi�c musz� szuka� pomocy na Waszej Grupie. 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. Buduj� zatem interface: Windows Application w C#, w �rodowisku Visual Studio .NET 2003. Na formularzu mam do poszczeg�lnych komponent�w (listbox, textboxy, comboboxy) zbindowane dane cz�stkowe (idosoby, imie, nazwisko, nip, pesel, itd), kt�re pojawiaj� si�, gdy klikn� na listboxie dan� osob�. Zrealizowa�em ju� wstawianie nowej osoby oraz modyfikacj� (gdy wywo�uj� metod� Update dataadaptera, on u�ywa odpowiedniej procedury sk�adowanej) - by�y problemy, ale sobie poradzi�em, bo mia�em przyk�ady na �wiczeniach. 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�. 2. Jak wywo�a� procedur� sk�adowan�, przekazuj�c jej parametry z poszczeg�lnych komponent�w? Je�eli wejd� do Server Explorera, odnajd� baz� danych, tam rozwijam procedury sk�adowane i odnajduj� moj� procedur� "osoby_delete". Gdy po�o�� j� na formie, mam komponent sqlCommand1. Pod przyciskiem m�g�bym (gdybym potrafi�) umie�ci� kod wywo�uj�cy procedur�, kt�rej przekazuj� parametry widziane w komponentach (zak�adam, �e chc� usun�� go�cia, kt�rego obecnie wy�wietlam, wi�c przekazuj� jego idosoby). Jaki kod napisa� pod przyciskiem? Z g�ry serdecznie dzi�kuj� za wszystkie rady, Piotrek
Technical Details
Message-ID:
<c3dfpr$ch5$1@atlantis.news.tpi.pl>Path:
mbox-mo1.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-03!sn-xit-06!sn-xit-09!supernews.com!diablo.theplanet.net!zen.net.uk!demorgan.zen.co.uk!news2.euro.net!newsfeed.wirehub.nl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-03!sn-xit-06!sn-xit-09!supernews.com!diablo.theplanet.net!zen.net.uk!demorgan.zen.co.uk!news2.euro.net!newsfeed.wirehub.nl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail From: "pe3no" <pe...@DELETE.o2.pl> Newsgroups: alt.pl.comp.lang.csharp,ms-news.pl.programowanie.dotnet Subject: Usuwanie wiersza: delete method, stored procedure Date: Fri, 19 Mar 2004 01:45:39 +0100 Organization: tp.internet - http://www.tpi.pl/ Lines: 58 Message-ID: <c3dfpr$ch5$1@atlantis.news.tpi.pl> NNTP-Posting-Host: pe27.warszawa.cvx.ppp.tpnet.pl X-Trace: atlantis.news.tpi.pl 1079657085 12837 213.76.100.27 (19 Mar 2004 00:44:45 GMT) X-Complaints-To: use...@tpi.pl NNTP-Posting-Date: Fri, 19 Mar 2004 00:44:45 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4807.1700 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit