Chcialbym pokazać postęp zapisu danych do bazy. Aplikacja Windows Forms. Załóżmy ze uzytkownik wstawił w aplikacji jakieś dane 100 osób. Klika Zapisz i teraz chciałbym zrobić okienko w którym będą się wyświetlać po kolei informację o udanym zapisie dla każdej osoby,
Jak to można zrobić, czy walić do bazy jeden po drugim 100 insertów i po każdym jednym insercie wrzucać w to okienko że zapis osoby Jan Kowalski zakończony sukcesem? Czy jakoś inaczej to mozna osiągnąć?
Jak pokazać postęp zapisu do bazy
- Rejestracja: dni
- Ostatnio: dni
- Rejestracja: dni
- Ostatnio: dni
- Postów: 5265
Wydaje mi się, że tak jest najłatwiej.
Basically you have to do the progress bar yourself. Knowing true progress can be diffucult, and this is why many times you will see progress bars that do not appear linear; it is difficult to know what the progress really is. Wish that there was a feedback on SQL calls that would give progress.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 7083
Po prostu wykonaj 100 zapytań i po każdym pokaż info ;)
Wiem, to bardzo nieoptymalne, ale raczej będzie działać.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Wrocław
Ale Ty to chcesz na jakimś 286 odpalać, żeby ktoś w ogóle miał szanse zobaczyć ten pasek postępu?
- Rejestracja: dni
- Ostatnio: dni
Może źle się wyraziłem :), nie chce żadnego paska postępu, tylko okienko w którym po dodaniu każdego rekordu do bazy, będzie informacja np
-jan kowalski został pomyślnie dodany
-anna nowak została pomyślnie dodana
-jon doe nie został pomyślnie dodany
itd
.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Wrocław
No ok, czyli taki log operacji w okienku. Tylko pamiętaj, że 100 insertów w oddzielnych transakcjach będzie trwało dłużej niż jedna transakcja z setką insertów.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Warszawa
- Postów: 3573
No wlasnie nie za bardzo czaje po co robić 100 razy po 1 insercie jak można zamiast tego zrobić naraz 100 insertów? :)
- Rejestracja: dni
- Ostatnio: dni
- Postów: 7083
Może, żeby się dowiedzieć co jest nie tak?
Jak baza nie przyjmie jednego gostka z zapytania, bo ma np. jakieś pole unique, które już jest w tabeli, to całe zapytanie nie przejdzie.
Jak lecisz po jednym rekordzie to przynajmniej zostaną dodane poprawne wpisy, a o niepoprawnych się dowiesz.