Article View: pl.comp.lang.delphi
Article #346995Re: Pomysł a funkcjonalność - prośba o poradę
From: J-23
Date: Tue, 14 May 2019 22:36
Date: Tue, 14 May 2019 22:36
58 lines
3709 bytes
3709 bytes
W dniu 14.05.2019 o 14:14, Pancio pisze:
> Witam Panownie,
> A ja mam pytanie do Was jako znawców tematów o coś podobnego. Tzn. dotyczyć będzie to właśnie dodawania i/lub edycji rekordów w bazie.
> Załóżmy że mam bazę o nazwie TELEFONY a'la książka telefoniczna i kolumny NazwiskoImie, NrTel, Inne
> Na formatce mam oba pola i teraz moje pytanie - jak dodajecie rekordy do bazy? Osobiście używam takiej konstrukcji:
> 1. Ustawiam bazę w tryb wstawiania TELEFONY.Insert
> 2. Wypełniam pola tekstowe formatki np. Edit1.Text, Edit2.Text
> 3. Przypisuję dodatkowe dane do bazy:
> TELEFONY.FieldByName('Inne').AsInteger := 1; // Pole podane dla przykładu
> 4. Kończę operację poleceniem TELEFONY.Post (lub pod przyciskiem Anuluj TELEFONY.Cancel)
>
> Ale wiem, że można do tego użyć poleceń SQLa, jak to kolega przedstawił czyli np.
> Close;
> Clear;
> Add('INSERT INTO TELEFONY (NazwiskoImie, NrTel, Inne)');
> Add('VALUES (:NazwiskoImie, :NrTel, :Inne)');
> ParamByName('NazwiskoImie').AsString := Edit1.Text;
> ParamByName('NrTel').AsString := Edit2.Text;
> ParamByName('Inne').AsInteger := 1;
> ExecSQL;
>
> No i mije pytanie - którego rozwiązania powinienem się trzymać - pierwszego czy drugiego? Bo efekt końcowy jest identycznie taki sam.
> Z góry dziękuję za (p)odpowiedzi.
>
> --
Odpisze w Twoim poście ale jest to odp dla ciebie i dla autora wątku.
Panowie dlaczego nie korzystacie z kontrolek DB i to co one dają? Czyli
możliwość zrobienia niemal wszystkiego automatycznie wystarczy
Datasource podpięcie odpowiedniego DataSeta (obojętne czy to będzie zeos
czy to będzie AnyDAC czy inne cudo - każdy z tych który podepniecie
wygeneruje za was podstawowe zapytanie INSERT bez grama pisania
jakiegokolwiek zapytania
Wasz jedyny kod który was obchodzi to
procedure OnClickButton(Sender: TObject)
begin
DataSet.post - tylko tyle - by dodać cokolwiek do bazy
end;
Zaraz ktoś napisze a to trzymana transakcja itd.
Ja na to... podstawowym punktem wyjściowym by sobie z takimi kłopotami
radzić jest "CecheUpdate"
Doczytać jak ta funkcja działa w poszczególnych produktach tj zeos,
anydac itp. i unikniecie takich problemów jak teraz
Można oczywiście się bawić w małych projektach w pisanie INSERT ręcznie
itp ale jest to w mojej opinii strata czasu.
Oczywiście ja tu mówię o absolutnych podstawach nie wspominając o tym że
są inne rozwiązania które oferują jeszcze znacznie więcej ponadto co ja
tu opisałem
Pozdrawiam
J-23
Technical Details
Message-ID:
<5cdb42f1$0$531$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<f1d5f52e-7035-41ad-a7bb-b78126030630@googlegroups.com> <002449dc-a011-4ede-9274-800249fd0699@googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail Subject: Re: Pomysł a funkcjonalność - prośba o poradę Newsgroups: pl.comp.lang.delphi References: <f1d5f52e-7035-41ad-a7bb-b78126030630@googlegroups.com> <002449dc-a011-4ede-9274-800249fd0699@googlegroups.com> From: J-23 <Baczeklu@poczta.fm> Date: Wed, 15 May 2019 00:36:30 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: <002449dc-a011-4ede-9274-800249fd0699@googlegroups.com> Lines: 58 Message-ID: <5cdb42f1$0$531$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 188.146.232.203 X-Trace: 1557873394 unt-rea-a-02.news.neostrada.pl 531 188.146.232.203:10225 X-Complaints-To: abuse@news.neostrada.pl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit