• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Odświeżanie odczytu z baz danych. WinForm C# .NET

VPS Starter Arubacloud
0 głosów
359 wizyt
pytanie zadane 22 lutego 2021 w C# przez disaster Bywalec (2,120 p.)

Cześć, 
Czy jest jakiś sposób aby program sam zauważył zmianę w bazie danych i zaktualizował wyświetlane dane, lub czy można zrobić automatyczne odświeżanie danych co jakiś czas?
C# Win Form
Proszę o wskazówki.
Dziękuję! 

 private void comboBox1_Click(object sender, EventArgs e)
        {

            try
            {
                FbConnection polacz = new FbConnection("UserID = xxxx; Password=xxxx; database=D:\\x\\x\\bazy\\x.FDB; DataSource=localhost;port3050");
                //FbDataAdapter da = new FbDataAdapter("SELECT TASK_P_NAME FROM SV_CRR WHERE SV_NAME IN ('" + comboBox1.Text + "');", polacz);
                string sql = "SELECT TASK_P_NAME FROM SV_CRR WHERE SV_NAME IN ('" + comboBox1.Text + "');";
                FbCommand cmd = new FbCommand(sql, polacz);
                polacz.Open();
                using (FbDataReader dr = cmd.ExecuteReader())
                    while (dr.Read())
                    {
                        Folderkoncowy.Text = dr["TASK_P_NAME"].ToString();

                    }
            }


            catch (Exception ex)
            {
                string error = string.Format("Blad polaczenia", ex.Message);
                MessageBox.Show(error, "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }


        }

 

2 odpowiedzi

+1 głos
odpowiedź 23 lutego 2021 przez maciej.tokarz Nałogowiec (27,280 p.)

Coś Ci tą bazę aktualizuje, zatem i może zadbać o odświeżenie danych... Pisząc aplikacje dostępne dla wielu uzytkowników między bazę (która jest na jakimś serwerze) wciska się pośrednika tzw. API. Natomiast do utrzymanie aktualnych danych - mimo operacji zmieniania ich - zazwyczaj angażuje się technologię zwaną WebSocket. W dużym skrócie to tyle. Jeśli masz w tej aplikacji zdarzenie które zmienia dane w tej tabeli, uruchamiaj zarazem jakiś upsert na kolekcji trzymanej w apce.

M.

komentarz 23 lutego 2021 przez disaster Bywalec (2,120 p.)
Aplikacja jest tylko dla mnie, chce śledzić co wprowadza użytkownik w aplikacji webowej.
Dane odświeżają się po zdarzeniu Click, a chciałbym tylko aby robiło się to co 60sec - tu mam problem, tym bardziej, ze chodzi o comboBox i musi być możliwość wyboru z comboBox'a.
Dziękuję za mądrą wypowiedź, ale nie widzę tego przy moim zapotrzebowaniu, rozwiązaniu.
komentarz 23 lutego 2021 przez maciej.tokarz Nałogowiec (27,280 p.)

Użytkownik coś wprowadza w aplikacji webowej, a Ty chcesz to śledzić? Czyli dane z tej web apki lądują w Twojej bazie danych? Faktycznie wystarczyło by robić SELECT na tej tabelce aby pozyskać najnowsze dane. Poszperaj za Timer-em.

komentarz 24 lutego 2021 przez disaster Bywalec (2,120 p.)
Dokładnie tak. Tylko, że combobox ma zdarzenie click i odczyt idzie tylko gdy się kliknie. A można dodać do comboboxa aby obsługiwał click i timer- ale timer zeby nie startował dopiero po click tylko żeby działał cały czas?
komentarz 24 lutego 2021 przez maciej.tokarz Nałogowiec (27,280 p.)

Każda kontrolka ma swój cykl zycia i związane z tym zdarzenia

Windows Forms Events Lifecycle

Możesz podpiąć swoje metody pod np. Load.

M.

0 głosów
odpowiedź 23 lutego 2021 przez disaster Bywalec (2,120 p.)
Jak mógłbym tu wykorzystać timer aby mi odświeżał odczyt z bazy co 60sec?

Podobne pytania

+1 głos
1 odpowiedź 179 wizyt
pytanie zadane 8 kwietnia 2021 w C# przez kubaa322 Użytkownik (710 p.)
0 głosów
1 odpowiedź 231 wizyt
pytanie zadane 22 lutego 2021 w C# przez kubaa322 Użytkownik (710 p.)
0 głosów
2 odpowiedzi 379 wizyt
pytanie zadane 29 października 2018 w C# przez Sc4red Użytkownik (590 p.)

92,452 zapytań

141,262 odpowiedzi

319,080 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...