tiger1990 napisał: Czyli mam rozumieć że jak chce zrobić update - zmieniam dane w data_table a potem wywołuje update(ds,"table name") Jak insert to dodaje wiersz i robie wtaki sam sposób insert a jak delete to wywalam wiersz z data_table i wywołuje delete(ds,"table name").
Tak.
tiger1990 napisał: Co będzie szybsze: z
- robienie dodawania do tabeli w taki sposób że za każdym razem będe robił select do data seta i potem dopiero insert,
-czy zrobienie tego w trybie połączeniowym używające execute query?
A czy to ma jakiekolwiek znaczenie??

Jeżeli chcesz mieć tryb bezpołączeniowy, i tak nie masz wyjścia...
Tryb bezpołączeniowy przydaje się w takiej przykładowej sytuacji: klient z laptopem albo innym urządzeniem przenośnym podłącza się do sieci, synchronizuje swoją aplikację z główną bazą danych (robi SELECT metodą Fill dataadaptera), odłącza się od sieci i idzie "w teren" pracować na kopii bazy. Wprowadza nowe rekordy lub modyfikuje istniejące nie mając dostępu do sieci, a na koniec dnia wpina się do sieci ponowniei synchronizuje swojego laptopa z główną bazą danych (wykonuje metodę Update), aby zrzucić wyniki swojej pracy do głównej bazy.
Są co najmniej trzy niedogodności takiego rozwiązania:
1. W przypadku awarii zasilania czy błędu w aplikacji - niezapisane dane z dataseta w pamięci są tracone.
2. Pracując na kopii danych w pamięci dane mogą być już nieaktualne.
3. Operacje na danych w pamięci, odszukiwanie rekordów będą najprawdopodobniej wolniejsze niż bezpośrednio na bazie - wszak dataset to nie baza danych.
Ja osobiście mając wybór nigdy nie używam trybu bezpołączeniowego - zwykłe metody ADO są na tyle szybkie, a połączenie do bazy nawet po zamknięciu jest błyskawicznie dostępne z connection poola, że metoda:
otwórz połączenie -> wykonaj zapytanie -> zamknij połączenie sprawdza się dobrze.