crm
PROGRAM CRM
Spróbujmy napisać już całkiem duży projekt np. prosty program do zarządzania kontaktami z klientami prawie jak CRM. W założeniu przyjmijmy że program nasz ma współpracować z darmową bazą danych MS SQL Express, bo zabawa z plikami tekstowymi jest dla początkujących a my już w kapsle dawno nie gramy :). Żartowałem oczywiście "zabawa" z plikami tekstowymi to poważna sprawa. Do dzieła ! potrzebujemy więc ze STRONY SQL Serwer 2008 Express oraz Management Studio ze STRONY. Osoby mające problemy z instalacją proszę o zapoznanie się z TYM działem. Po instalacji możemy zająć się zakładaniem nowej bazy danych, uruchamiamy więc Management Studio

Łączymy się z naszym serwerkiem i zakładamy nową bazę danych klikając prawym klawiszem myszy na Databases i wybierając New Database. Jeżeli czujesz się zagubiony w środowiskach, których używamy to się nie przejmuj, potrzeba trochę czasu aby się w nich nauczyć pracować a my wypłynęliśmy właśnie na dość głębokie wody.

Nadajemy nazwę CRM, klikamy OK i baza powinna zostać założona. Z lewej strony ekranu znajduje się zakładka Object Explorer, teraz klikamy na plusik przy Databases co spowoduje rozwinięcie gałęzi z bazami danych, powinna się tam znajdywać między innymi nasza nowo założona baza CRM. Po rozwinięciu gałęzi CRM powinniśmy zobaczyć coś takiego.

Abyśmy mogli korzystać z założonej przed chwilą bazy przydała by się nam jeszcze w niej jakaś tabela w której będziemy przechowywać dane klientów. Klikając prawym klawiszem myszy na Tables wybieramy New Table

Proponuję aby kolumny w naszej tabeli wyglądały następująco, z zaznaczeniem że kolumna id ma włączoną opcję autoinkrementacji (tabelka na dole). Należy zaznaczyć kolumnę id w Column Properties rozwinąć Identity Specification następnie Is Identity zmieniamy na Yes. Na nagłówku utworzonej tabeli klikamy prawym klawiszem myszy i wybieramy Save Table_1
Wpisujemy nazwę "klienci" i klikamy OK. Teraz mamy już potrzebną tabelę w której umieszczać będziemy dane naszych klientów.
Uruchamiamy teraz Microsoft Visual C# 2010 Express i wybieramy New Project

Wybieramy Windows Forms Application, nadajemy nazwę CRM i klikamy OK.

Po otworzeniu projektu blokujemy toolbox-a (zakładkę z lewej strony ) otwieramy zakładkę Properties w prawym dolnym rogu.

Rozciągamy formę zmieńmy nazwę i tekst we właściwościach na Klienci i wklejamy z toolboxa kontrolki : Na górze menu strip i umieszczamy w nim domyślne pola, groupBox - text zmieniamy na dane klientów, anchor na jak na rysunku

w groupBoxie umieszczamy SplitContainer

W panelu 2 wklejamy ListView i wybieramy właściwość Dock na Fill, view na Details, GridLines na True, następnie klikamy na Columns

Klikamy na przycisk Add i dodajemy kolumny

Jeszcze raz na Add

Jeszcze raz

Jeszcze raz

I klikamy Ok. Na górze pod menu ale nad GroupBoxem dodajemy Button i zmieniamy tekst na Nowy. Klikamy prawym klawiszem myszy na CRM wSolution Explorer i wybieramy Add > Windows Form

Nadajemy jej nazwę Nowy_klient i klikamy Add. Po rozmieszczeniu kontrolek forma powinna wyglądać mniej więcej tak

Większość kontrolek to TextBoxy z wyjątkiem Miasta i Priorytetu te kontrolki to ComboBoxy. Wszystkim kontrolkom we właściwościach zmieniamy nazwę na tnazwaKlienta, tulica, tnrDomu itd. Unikniemy w ten sposób zamieszania w czasie pisania kodu. Dodajemy teraz do naszego projektu nowy folder, nazwiemy go motor i umieścimy w nim klasę, która będzie odpowiadała za komunikowanie się z bazą danych

Teraz dodajemy nową klasę w folderze Motor

I nazywamy ją polaczenie.cs
Otworzy nam się kod tej klasy. W związku z tym że chcemy łączyć się z bazą MS SQL do przestrzeni nazw (po słowach using) dodajemy using System.Data.SqlClient; Cały kod klasy polaczenie powinien wyglądać tak

Przechodzimy teraz do naszej głównej formatki od której zaczęliśmy. Umieściliśmy tam Button1 z napisem nowy, klikamy na niego dwa razy i program przeniesie nas do kodu, który zostanie wykonany po naciśnięciu tego przycisku. Między dwoma nawiasami klamrowymi wpisujemy

Możemy teraz nacisnąć klawisz F5 i sprawdzić czy program nie zgłasza żadnych błędów. Jeżeli wszystko ok to bierzemy się za dalszą pracę. Nasz program otwiera już formę z danymi nowego klienta ale nic nie robi po naciśnięciu przycisku Zapisz i tym się teraz zajmiemy. Stworzyliśmy klasę "polaczenie" , która się znajduje w katalogu Motor w naszym projekcie, abyśmy mogli jej użyć należy po dwukrotny kliknięciu na przycisk Zapisz i przewinięciu okna do góry dodać jeszcze jedną linijkę using CRM.Motor; oraz using System.Data.SqlClient; następnie wracamy do części kodu wykonywanej po kliknięciu przycisku Zapisz. Po uzupełnieniu kod powinien wyglądać tak.

Mamy już gotowy zapis do bazy, aby jednak odczytać dane z bazy należy jeszcze się trochę potrudzić :-) Przechodzimy na naszą główną formatkę i klikamy dwukrotnie w niebieską belkę na górze formy. Powinniśmy zobaczyć to

Metoda ta jest wywoływana po załadowaniu się formy w czasie wykonywania programu, taki autostart, a my chcemy aby nam się automatyczne wczytały dane naszych klientów. Dodajemy w nagłówku using CRM.Motor; ponieważ będziemy używać naszej klasy odpowiadającej za połączenie z bazą oraz using System.Data.SqlClient; przestrzeń nazw potrzebną przy odczytywaniu danych z bazy.
Miedzy dwa nawiasy klamrowe wpisujemy wywołanie nowej metody wczytajKlientów(); Oraz tworzymy pod spodem wspomnianą metodę

Po uruchomieniu program możemy zapisać już dane klienta i zostaną one również wczytane do naszej kontrolki listView 1 ale nie są to wszystkie dane, pozostaje nam więc użyć formy Nowy_klient, której używaliśmy do wprowadzenia danych klienta tym razem do wyświetlenia szczegółowych danych na temat wybranego klienta. W tym celu trzeba będzie do kontrolki listview 1 dodać obsługę zdarzenia MouseDoubleClick odpowiadającego za podwójne kliknięcie na numerze id danego klienta z listy

Przechodzimy do widoku naszej formy, klikamy jednokrotnie na kontrolce listView1 następnie po przejściu do zakładki właściwości klikamy na ikonkę piorunka (mam nadzieję że to piorun :-)) odpowiada ona za zdarzenia związane z wybranymi kontrolkami, następnie dwukrotnie klikamy na napis MouseDoubleClick, powinna zostać wygenerowana automatycznie metoda związana z obsługą tego zdarzenia i powinniśmy zostać przeniesieni do kodu tej metody i trochę w niej jeszcze napiszemy

Następnie w kodzie formy Nowy klient należy dodać metodę odpowiedzialną za wczytanie danych do kontrolek

Jeszcze deklarujemy zmienną globalną Id będzie nam potrzebna jeżeli zechcemy wprowadzić uzupełnianie lub zmianę danych klienta.

Po uruchomieniu (klawisz F5) nasz program powinien działać, jeżeli pojawiły się błędy to po dwukrotnym kliknięciu na danym błędzie zostaniemy przeniesieni do linni programu, w której kompilator napotkał błąd. Z błędami również trzeba się oswoić, zatem miłego oswajania :-).
| « poprzednia |
|---|



