🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: alt.pl.comp.lang.csharp
Article #517

Re: DataSet i DataAdapter

#517
From: Marek Janaszewski USUNTO. z adre...
Date: Fri, 20 Feb 2004 16:09
64 lines
3488 bytes
W artykule news:c128pt$4fo$1...@nemesis.news.tpi.pl,
niejaki(a): Robert G z adresu <zof...@interia.pl> napisał(a):

> Witam
> Przeciez ja nie napisalem ze dataadapter przechowuje dane ?! Wydaje
> mi sie ze dosc jasno wyjasnilem o co mi chodzi. Jesli nie to prosze o
> inforamcje co jest nie jasne.
[...]

Witam!

OK, już widzę o co Ci chodzi. To znaczy nie wiem z czego to wynika.
Niepotrzebne się wychyliłem bo zmusiło mnie to do przyjrzenia się bliżej
ADO.NET a działam na C# Builder Personal więc do pomocy nie ma kreatorów
ułatwiających pracę.

Ale jak się z tym uporałem do udało mi się podłączyć DataGrida do
DataSet/DataAdapter aby przetestować wszystkie operacje. Sprawdzałem próbę
podania powtarzającego się klucza głównego i mogłem go poprawić. Status
rekordu można sprawdzić ale nie można go zmieniać. Jak się chcesz sam
przekonać to podaje namiary metody/właściwości w dokumentacji .NET SDK:

Przykład:

DataRow currRow =
dstKontrah.Tables["Kontrah"].Rows[grdKontrah.CurrentRowIndex];
... currRow.RowState ...;

Po prowadzeniu powtarzającego klucza mogłem go poprawić i nadal wywołać:
daKontrah.Update(dstKontrah, tblNameKontrah);

Być może problem polega, że nie zakończyłeś zmian dokonywany na DataSet.
Jest coś takiego jak:
currRow.EndEdit();

Poza tym jest:
currRow.AcceptChanges();

Po wywołaniu tej metody, DataSet ustawia sobie stan rekordu na
niezmodyfikowany i nie wysyła go do DataAdapter.

Albo jest:
currRow.RejectChanges();

I mamy poprzednią wersje rekordu.

Ja akurat podłączałem się do bazy Accessowe więc korzystałem z przestrzeni
nazw OleDb. Z dokumentacji wynika, że DataAdapterowi trzeba przygotować
zapytania na wszystkie okazje i przekazać parametry do tych zapytań. Co by
się zgadzało z tym co mówili goście w MSDN .NET Show. Należy zwrócić uwagę
jaką wartość z DataSet przekazuje się przez parametry. Starą czy nową. Jest
ustawienie do tego celu. Parametr następnie wiąże z polami DataSet,
właściwość SourceColumn.

Proszę powiedzieć czy moje badania pomogły w czymś. Myślę, że jest kilka
namiarów, które można pogłębić w dokumentacji.

P.S. Proszę pisać pod postem to znaczy pod poprzednią wiadomością i ciąć co
niepotrzebne. Minimum sygnaturki.

-- 
Pozdrawiam,
Marek Janaszewski
[ j_m...@gazeta.pl ]
Technical Details
Message-ID: <c15bgf$2v8i$1@news.atman.pl>
Path: mbox-mo1.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!news.algonet.se!algonet!news.tele.dk!news.tele.dk!small.news.tele.dk!proxad.net!newsfeed.tpinternet.pl!news.atman.pl!not-for-mail
References: <c11v15$ir0$1@nemesis.news.tpi.pl> <c1288a$d6c$1@news.atman.pl> <c128pt$4fo$1@nemesis.news.tpi.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!news.algonet.se!algonet!news.tele.dk!news.tele.dk!small.news.tele.dk!proxad.net!newsfeed.tpinternet.pl!news.atman.pl!not-for-mail
From: "Marek Janaszewski \(USUN_TO. z adresu!\)" <USUN_TO...@gazeta.pl>
Newsgroups: alt.pl.comp.lang.csharp
Subject: Re: DataSet i DataAdapter
Date: Fri, 20 Feb 2004 17:09:23 +0100
Organization: ATMAN
Lines: 65
Message-ID: <c15bgf$2v8i$1@news.atman.pl>
References: <c11v15$ir0$1@nemesis.news.tpi.pl> <c1288a$d6c$1@news.atman.pl> <c128pt$4fo$1@nemesis.news.tpi.pl>
NNTP-Posting-Host: staticline702.toya.net.pl
Mime-Version: 1.0
X-Trace: news.atman.pl 1077293391 97554 217.113.228.127 (20 Feb 2004 16:09:51 GMT)
X-Complaints-To: use...@atman.pl
NNTP-Posting-Date: Fri, 20 Feb 2004 16:09:51 +0000 (UTC)
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
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit