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

C# klasa odpowiadająca za połączenie z bazą danych

Object Storage Arubacloud
0 głosów
875 wizyt
pytanie zadane 4 kwietnia 2016 w C# przez pshembol Początkujący (350 p.)

W głównym oknie programu tworzę obiekt odpowiedzialny za połączenie z bazą danych. Chciałbym aby można było skorzystać też z niego w innych oknach, ponieważ będzie potrzebny m.in do wykonywania zapytań.

Myślałem nad stworzeniem zewnętrznego pliku z klasą, który byłby odpowiedzialny za obsługę takiego obiektu. Dzięki temu można by w oknie głównym po prostu odwołać się do składowych klasy i korzystać z nich w innych oknach. Nie wiem może za bardzo kombinuję ale na razie tylko takie rozwiązanie przychodzi mi do głowy.

Jakieś pomysły :) ?

//Sample code
//MainWindow WPF

         public SqlConnection conn;
         private SqlConnectionStringBuilder connData;

            connData = new SqlConnectionStringBuilder();    
            connData.InitialCatalog = "Northwind";
            connData.DataSource = @"PRZEMEK-PC\SQLEXPRESS";
            connData.UserID = "przemek";
            connData.Password = "haslo";
            connData.IntegratedSecurity = false;

            conn = new SqlConnection(connData.ConnectionString);

1 odpowiedź

0 głosów
odpowiedź 5 kwietnia 2016 przez achilles147 Dyskutant (9,580 p.)

"W głównym oknie programu tworzę obiekt odpowiedzialny za połączenie z bazą danych"

Co rozumiesz przez to? Chodzi ci o obiekt UI ? np textbox czy coś takiego?

komentarz 5 kwietnia 2016 przez pshembol Początkujący (350 p.)
Mówiąc okno główne chodzilo mi o okno MainWindow w Wpf, które uruchamia się przy starcie aplikacji (w moim przypadku łącznie z serwerem) Obiekt odpowiedzialny za połączenie conn = new SqlConnection(connData.ConnectionString)
komentarz 6 kwietnia 2016 przez achilles147 Dyskutant (9,580 p.)

W takim razie proponowałbym Ci zupełnie odseparować połączenie do bazy jako zupełnie inny projekt. Tak jak robi się to w różnego rodzaju wzorcach projektowych : MVP, MVC ,MVVM gdzie tworzy się zupełnie osobny projekt, która ma w sobie całą logikę związaną z połączeniem z bazą danych (model). A projekt posiadający "warstwę prezentazji" czy też "widoki" może mieć np referencje do tamtego projektu ( mimo tego, że w wzorcach projektowych, kóre wymieniłem zazwyczaj jest jeszcze jakaś warstwa pośrednia). Oczywiście należy zrobić jakąś osobną klasę.

Jeszcze jeżeli mogę coś poradzić to może warto skorzystać z chyba najpopularniejszego w świecie .net frameworku do połączenia z bazą danych Entity framework?. A druga sprawa to dobrze używać słowa using przy tworzeniu takich obiektów jak :  conn = new SqlConnection. Jakbyś coś chciał więcej wiedzieć to pisz:)

Podobne pytania

0 głosów
1 odpowiedź 1,176 wizyt
pytanie zadane 17 grudnia 2016 w C# przez pablocity Początkujący (330 p.)
0 głosów
1 odpowiedź 423 wizyt
pytanie zadane 5 marca 2022 w C# przez Patryk665 Nowicjusz (170 p.)
0 głosów
1 odpowiedź 165 wizyt
pytanie zadane 17 września 2016 w C# przez Kieszinho10 Początkujący (280 p.)

92,551 zapytań

141,397 odpowiedzi

319,529 komentarzy

61,936 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...