Janusz Górczyński. Projekt WynajemSal realizowany w trakcie drugiego semestru studiów podyplomowych

Wielkość: px
Rozpocząć pokaz od strony:

Download "Janusz Górczyński. Projekt WynajemSal realizowany w trakcie drugiego semestru studiów podyplomowych"

Transkrypt

1 Janusz Górczyński Projekt WynajemSal realizowany w trakcie drugiego semestru studiów podyplomowych WSZiM w Sochaczewie, 2011

2 Spis treści 1 WSTĘP BAZA DANYCH TABELE PROCEDURY PRZECHOWYWANE APLIKACJA WINDOWSOWA UTWORZENIE PORJEKTU FORMULARZ GŁÓWNY APLIKACJI MODUŁ OGÓLNY PLIK KONFIGURACYJNY POTRZEBNE KLASY ZEWNĘTRZNE CForStorageSub CValidacja CDataGridPrint FORMULARZ FRMNOWASALA Klasa CAdministracja Uzupełnienie kodu klasy frmnowasala Uzupełnienie kodu formularza głównego Formularz frmnowasala w pracy

3 1 Wstęp W trakcie zajęć drugiego semestru studiów podyplomowych na kierunku Projektowanie baz danych zrealizujemy od podstaw projekt, który otrzyma roboczą nazwę WynajemSal. W ramach realizacji tego projektu zostaną zrealizowane trzy główne jego komponenty obejmujące: 1) Zaprojektowanie bazy danych na MS SQL Server; 2) Utworzenie aplikacji VB.NET będącej interfejsem tej bazy danych; 3) Utworzenie aplikacji ASP.NET pełniącej rolę interfejsu komunikacyjnego dla potencjalnych klientów. Podstawą rozpoczęcia prac nad tym projektem jest przemyślenie funkcjonalności zamierzonego rozwiązania, a sam pomysł zajęcia się takim projektem wynika między innymi z dość dużego zainteresowaniem różnych podmiotów wynajęciem naszych sal dydaktycznych. W przypadku pomyślnej realizacji tego projektu cały proces udostępniania wolnych pomieszczeń ulegnie maksymalnemu uproszczeniu poprzez: Umożliwienie via strona www zapoznanie się ze szczegółową ofertą uczelni w zakresie wynajęcia pomieszczeń; Możliwość złożenia formalnego zamówienia na wynajem określonego typu sali (czy sal) poprzedzone uzyskaniem informacji o kosztach wynajęcia, sprawdzeniu dostępności i przy dalszym zainteresowaniu złożenia zamówienia; Automatyczne wygenerowanie i dostarczenie w formie elektronicznej formalnej umowy finansowej (e-faktury); Zarządzanie procesem wynajmowania pomieszczeń via intuicyjny interfejs. 3

4 2 Baza danych Baza danych zostanie utworzona na serwerze MS SQL Server 2008 (słuchacze zakładają ją indywidualnie dla siebie), na potrzeby tego opracowania będziemy się posługiwać nazwą bazy SaleWSZiM. W bazie zostaną utworzone tabele, procedury przechowywane i funkcje, diagram bazy i określone reguły związane z jej bezpieczeństwem. Przyjmiemy zasadę, że jedyna możliwość manipulowania danymi będzie się odbywała via procedury przechowywane. 2.1 Tabele Tabela RodzajSal będzie zawierać wykaz typów pomieszczeń, które znajdą się w ofercie wynajmu. Pole idtyp jest kluczem tej tabeli (automatyczna inkrementacja ze skokiem 1). Pole rodzaj zawiera skrótowy opis odnoszący się generalnie do liczby miejsc, a pole opis będzie wykorzystywane przy prezentacji zdjęć poszczególnych sal. Poniżej przykładowe dane zapisane w tej tabeli. Tabela Sale zawiera informacje o poszczególnych salach dydaktycznych, które mogą być wypożyczane. Kluczem tej tabeli jest pole idnr przechowujące unikalny numer sali (a więc klucz tabeli nie może być automatycznie inkrementowany) 4

5 Pole projektor informuje o tym, czy w sali jest zamontowany projektor podwieszany (wartość 1) czy też nie (wartość 0). Pole id_typ jest kluczem obcym (kluczem tabeli RodzajSal) i będzie wykorzystywane do ustanowienia relacji typu jeden-do-wielu. Poniżej widok przykładowych danych zapisanych w tabeli Sale. Tabela ZdjeciaSal została utworzona po to, aby można było dla danej sali dysponować więcej niż jednym jej zdjęciem. Pole foto będzie przechowywać nazwę zdjęcia danej sali, nazwa ta w połączeniu z nazwą katalogu stworzy pełną ścieżkę dostępu do zdjęć pomieszczeń, które będziemy prezentować potencjalnym klientom na stronie www. Pełna nazwa katalogu będzie pobierana z pliku konfiguracyjnego aplikacji (zarówno windowsowej jak i webowej). Przykładowe dane w tej tabeli pokazane są niżej. Tabela Stawki ma za zadanie przechowywanie informacji o kosztach wynajęcia poszczególnych rodzajów sal. Tabela jest tak zaprojektowana, aby była możliwość przechowywania informacji o historii wprowadzanych zmian stawek, zadanie to będzie realizować pole o nazwie DataZmiany typu smalldatetime. 5

6 Kluczem tej tabeli jest pole idc z automatyczną inkrementacją ze skokiem jeden. Pozostałe pola (z wyjątkiem DataZmiany) są typu money, ich odpowiednikiem po stronie VB.NET czy ASP.NET będzie typ decimal. Pole GodzinaKomputera przechowuje informacje o stawce godzinowej za jedno stanowisko komputerowe, podobnie pole GodzinaProjektora opisuje godzinny koszt udostępnienia projektora (nie dotyczy sal komputerowych). Pozostałe cztery pola przechowują informacje o kosztach wynajęcia określonego typu sali, jest to koszt dzienny (niezależnie od liczby osób i liczby godzin dziennie). Poniżej widok przykładowych danych zapisanych w tabeli Stawki. Tabela NaszeTerminy ma przechowywać terminarz zajęć własnych z podaniem rodzaju zajęć i (ewentualnie) wykazu sal zajętych. Generalnie chodzi o uniknięcie potencjalnych konfliktów. 6

7 Pole TerminSobota typu smalldatetime ma przechowywać sobotnią datę zjazdu sobotnio-niedzielnego, datę niedzielną ustalimy w odpowiedniej procedurze przechowywanej. Pole RodzajZajec przyjmie wartość 1 dla naszych statutowych studiów, wartość 2 dla studiów podyplomowych. W przypadku tych ostatnich pole SaleZajete będzie zawierać numery sal rozdzielone symbolem przecinka. Poniżej widok przykładowych danych zapisanych w tabeli NaszeTerminy. Tabela Klienci będzie przechowywać informacje o firmach wynajmujących nasze pomieszczenia. Projekt tej tabeli pokazany jest poniżej. W tabeli tej zapisano poniższe, absolutnie przypadkowe dane (na etapie projektowania aplikacji). 7

8 Tabela RezerwacjaKlienta ma do spełnienia w naszym projekcie bardzo ważną rolę, to w tej tabeli potencjalny klient będzie zapisywał swoje zapotrzebowanie na wynajęcie odpowiednich pomieszczeń dydaktycznych. Pole idk jest identyfikatorem klienta z tabeli Klienci, wykorzystamy je do nawiązania relacji między tabelą Klienci i RezerwacjaKlienta. Podobną rolę pełnią pola idnr oraz idnrbufet, które powiążą tę tabelę z tabelą Sale. Pole datarejestracji będzie przechowywać datę zgłoszenia zapotrzebowania na wynajęcie sali. Wartość tego pola w połączeniu z wartością klucza (idr) tej tabeli zostanie wykorzystana do przygotowania formalnej umowy wynajęcia danej sali. 8

9 Pole rodzajsali wskazuje na rodzaj sali będącej przedmiotem wynajęcia (chodzi o typ sali dydaktycznej). Pole zakresdat typu tekstowego będzie przechowywać wszystkie daty wynajęcia rozdzielone symbolem przecinka. Jego uzupełnieniem jest pole liczbadni, przechowujące informację o pełnej liczbie dni wynajęcia (tak naprawdę można z tego pola zrezygnować dlaczego?). Pole dnitygodnia typu tekstowego reprezentuje ciąg siedmiu znaków, odpowiednio 1 lub 0, wskazujących na dany dzień tygodnia (od poniedziałku do niedzieli). Jeden oznacza wynajęcie danej sali w danym dniu. Pole liczbagodzin będzie przechowywać informację o planowanej liczbie godzin zajęć, a pole liczbakompow informację o liczbie potrzebnych stanowisk komputerowych. W przypadku wynajmowania innej sali niż komputerowa to pole przyjmuje wartość zero. Pola projektor i salabufetowa przyjmują wartość jeden, jeżeli wynajmujący zgłasza potrzebę udostępnienia projektora czy sali bufetowej. Jeżeli nie, to pola te otrzymują wartość zero. Pola idnr oraz idnrbufet będą przechowywać numer sali przewidzianej do wynajęcia oraz numer sali bufetowej, jeżeli było takie zapotrzebowanie. Jeżeli nie, to pole to otrzyma wartość zero. Pola kosztnetto oraz kosztostateczny zawierają odpowiednio koszt netto wyliczony zgodnie z przyjętym algorytmem i automatycznym rabatem wynikającym z wartości zamówienia oraz koszt netto po ostatecznym ustaleniu (przykładowo z rabatem dla stałego klienta). Na etapie składania zamówienia wartości obu pól są takie same, a ewentualna zmiana (zmniejszenie) pola kosztostateczny może być przeprowadzona przez osobę zarządzającą wynajmowaniem sal. Pole datazaplaty pozostaje puste do momentu wpłaty należności za zrealizowaną transakcję udostępnienia pomieszczeń dydaktycznych. Po wpływie należności na konto Uczelni pole to jest wypełniane przez osobę nadzorującą wynajem pomieszczeń, jednocześnie pole archiv otrzymuje wartość zero. Pola archiv przyjmuje wartość 1 dla oznaczenia tych pozycji, które jeszcze nie zostały zrealizowane, a wartość zero po zrealizowaniu zamówienia. W przypadku anulowania zamówienia pole to przyjmie wartość dwa. Przykładowe dane zapisane w tabeli RezerwacjaKlienta pokazane są niżej (tutaj bez pól kosztnetto, kosztostateczny i datazaplaty). 9

10 A tak wygląda pole liczbadni z większą liczbą szczegółów. Być może, że w trakcie prac nad projektem będziemy musieli zmodyfikować proponowane tabele, dodać nowe itd., ale to wyjdzie w trakcie pracy. Na ten moment mamy utworzone tabele pokazane niżej na diagramie. 10

11 2.2 Procedury przechowywane Procedura pczydobrynip sprawdza, czy potencjalny klient webowy już był zarejestrowany w naszej bazie (dokładnie, czy istnieje rekord o takim Nip w tabeli Klienci). Jeżeli istnieje, to procedura zwraca jego identyfikator, jeżeli nie, to zwraca wartość zero. CREATE procedure int out as as int from dbo.klienci where NIP=@nip Procedura pdajklientawgid zwraca wszystkie dane klienta o podanym identyfikatorze. create procedure int as select * from dbo.klienci where idk=@id Procedura pdajdaneklientow zwraca komplet informacji z tabeli Klienci sortując je po polu Nazwa. create procedure [dbo].[pdajdaneklientow] as select * from dbo.klienci order by Nazwa Procedura pwstawklienta odpowiada za wstawienie do tabeli Klienci nowego rekordu z jednoczesnym zwróceniem jego identyfikatora. create procedure nvarchar(100),@adres int out as insert into dbo.klienci (Nazwa, Adres, NIP, mail, telefon, OsobaKontaktowa) @osoba) Procedura pupdateklienci odpowiada za modyfikację danych wskazanego klienta. 11

12 create procedure nvarchar(100) as update dbo.klienci set where Procedura pdajnaszeterminy odpowiada za zwrócenie pełnej informacji o naszych terminach zajęć z podanego zakresu dat, ich rodzaju oraz ewentualny wykaz zajętych sal. Poza terminem sobotnim zwracane są daty o jeden dzień większe (czyli niedzielne). Jest to realizowane funkcją SQL dateadd(symbol_interwału, o_ile_więcej, termin_wyjściowy). create procedure smalldatetime as select Terminsobota as Sobota, dateadd(dd,1,terminsobota) as Niedziela, Rodzajzajec, SaleZajete from dbo.naszeterminy where TerminSobota >=@datap and dateadd(dd,1,terminsobota) <=@datak Procedura pdajstawki zwraca ostatni (najstarszy) rekord z tabeli Stawki. create procedure [dbo].[pdajstawki] as select top(1) GodzinaKomputera, GodzinaProjektora, MalaSala, SredniaSala, DuzaSala, Aula from dbo.stawki order by DataZmiany desc Procedura pdajnumerysalwgtypu odpowiada za zwrócenie numerów tych sal, które odpowiadają przekazanemu typowi sal. Lista zwróconych numerów możemy modyfikować CREATE procedure int as select idnr from dbo.sale where id_typ=@idt and projektor=1 else select idnr from dbo.sale where id_typ=@idt 12

13 Procedura pdajwykazterminow zwraca pojedynczą wartość typu tekstowego zawierającą listę aktywnych dat rezerwacji sal określonego typu. CREATE procedure nvarchar(1000) out as as nvarchar(1000) from dbo.rezerwacjaklikenta where archiv=1 and idnr in set Procedura pdajzakresdatdlasali zwraca pojedynczą wartość tekstową zawierającą wykaz dat aktywnych rezerwacji dla danej sali. create procedure nvarchar(1000) out as from dbo.rezerwacjaklikenta where and archiv=1 Set Procedura pczywolnadanasala sprawdza, czy dana sala jest wolna. create procedure int out as from dbo.rezerwacjaklikenta where archiv=1 and idnr Procedura pczywolnasalabufetowa sprawdza, czy sala danego typu nie została zarezerwowana jako sala bufetowa. create procedure int out as from dbo.rezerwacjaklikenta where archiv=1 and idnrbufet in ( select idnr from dbo.sale where id_typ=@idtyp ) 13

14 Procedura pczywolnasala odpowiada za sprawdzenie, czy jest wolna jakaś sala określonego typu. create procedure int out as from dbo.rezerwacjaklikenta where archiv=1 and idnr in ( select idnr from dbo.sale where id_typ=@idtyp and projektor=@idpro ) else from dbo.rezerwacjaklikenta where archiv=1 and idnr in ( select idnr from dbo.sale where id_typ=@idtyp ) 14

15 3 Aplikacja windowsowa W tej części całego projektu zajmiemy się przygotowaniem aplikacji windowsowej, która umożliwi nam pełną obsługę i zarządzanie bazą daną omówioną w poprzednim rozdziale. Utworzymy nowy projekt aplikacji typu Windows Forms, z uwagi na złożoność projektu będzie to aplikacja z więcej niż jednym formularzem, w jej skład będą wchodziły niektóre z klas, które poznaliśmy w trakcie zajęć pierwszego semestru. Klasa CForStorageSub będzie przez nas wykorzystywana jako klasa bazowa, będziemy tworzyć na jej podstawie szereg specjalistycznych klas potomnych wykorzystywanych do realizacji konkretnych zadań projektowanej aplikacji. 3.1 Utworzenie porjektu Zaczynamy od uruchomienia VisualStudio.NET i wywołania polecenia New Project, co skutkuje otwarciem okna nowego projektu. Standardowo w oknie zainstalowanych szablonów powinien być wybrany szablon Windows Forms Application, jeżeli tak jest to przechodzimy do pola tekstowego Name i wpisujemy w nim nazwę tworzonej aplikacji. 15

16 W pokazanej sytuacji wpisana jest nazwa SpWynajemSal (zgodnie ze zmodyfikowaną notacją węgierską). Po akceptacji przycisku OK tworzone jest nowe rozwiązanie o podanej przez nas nazwie. Po krótkiej chwili nowy projekt zostanie utworzony, na ten moment zawiera on jedynie jeden formularz o domyślnej nazwie Form1. Po utworzeniu projektu powinniśmy zapisać go na dysku, wystarczy w tym celu wywołać polecenie Save All z menu File. W oknie dialogowym tego polecenia wskazujemy folder docelowy (korzystamy z przycisku Browse) i przyciskiem Save zapisujemy projekt, 16

17 3.2 Formularz główny aplikacji Jak wcześniej zostało powiedziane będziemy tworzyć projekt wielo formularzowy, tym samym musimy do projektu wprowadzić specjalny formularz, który będzie kontenerem (pojemnikiem) dla innych formularzy. Można także przekształcić istniejący formularz w formularz typu MDI (ang. Multi Document Interface), wystarczy w tym celu zmienić jego właściwość IsMdiContainer z domyślnej False na True, tak jak to pokazano niżej. Korzystając z okienka Solution Explorer zmieniamy jeszcze nazwę naszego formularza z dotychczasowej Form1.vb na frmmdiform.vb. Zmiany tej możemy dokonać z menu kontekstowego uruchamianego prawym przyciskiem myszy po wskazaniu obiektu formularza, wystarczy wywołać polecenie Rename z tego menu. Kolejnym krokiem jest zmiana właściwości Name tego formularza z dotychczasowej Form1 na frmmdiform. Robimy to w oknie właściwości tego formularza (po lewej sytuacja przed zmianą, po prawej po zmianie). Dla przypomnienia system rozpoznaje każdy obiekt po jego nazwie. 17

18 Jedną z istotnych właściwości formularza typu MDI jest możliwość zbudowania menu użytkownika. Robimy to poprzez dodanie do projektu formularza specjalnej kontrolki (formantu) o nazwie MenuStrip, znajdziemy ją w przyborniku w grupie Menus & Toolbars. Kontrolkę tę umieszczamy w naszym formularzu, ale po zwolnieniu myszy zostaje ona umieszczona nie w samym formularzu, lecz na specjalnym pasku, który nosi nazwę tzw. tacy. Poniżej widok VS po wprowadzonych zmianach. Widzimy egzemplarz formantu MenuStrip z nazwą domyślną MenuStrip1 (nie ma potrzeby jej zmiany), w formularzu pod wierszem tytułowym pojawił się pasek menu, będziemy w nim w trybie graficznym definiować poszczególne pozycje menu. Na tym etapie utworzymy pozycję Administracja z poleceniami jak niżej: - Typy sal (podpolecenia: Nowy typ, Edycja, Usunięcie); - Sale (podpolecenia: Nowa sala, Edycja, Usunięcie); - Zdjęcia sal (podpolecenia: Dodanie, Aktualizacja, Uusnięcie, Przegląd); - Stawki (podpole cnie: Nowe stawki, Edycja, Usunięcie) - Separator - Zakończenie 18

19 Poniżej widok okna projektowania w trakcie tworzenia menu Administracja. W analogiczny sposób dodajemy pozostałe pozycje menu, przy czym korzystając z menu kontekstowego możemy wstawić taką pozycję jak separator. Przed uruchomieniem naszej aplikacji możemy jeszcze zmienić dwie własności formularza frmmdiform, jedna z nich to właściwość Text (tytuł formularza), a druga to WindowState, która określa sposób otwarcia formularza. Poniżej zmienione wartości obu właściwości. Możemy już uruchomić nasz projekt, wystarczy w tym celu nacisnąć klawisz F5, poniżej pokazany jest (zminiaturyzowany) widok okna tej aplikacji z rozwiniętym menu Administracja. 19

20 Na tym etapie aplikacja nie reaguje na klik poszczególnych pozycji menu, jest to spowodowane tym, że jeszcze nie zostały napisane odpowiednie procedury zdarzeniowe reagujące na klik danego polecenia. 3.3 Moduł ogólny W każdej poważniejszej aplikacji składającej się z wielu formularzy, raportów i klas zachodzi potrzeba zadeklarowania stałych, zmiennych i innych obiektów (struktury, wyliczenia) w taki sposób, aby były dostępne dla wszystkich innych modułów tworzonej aplikacji. Podobne oczekiwania można także sformułować odnośnie procedur i funkcji, jeżeli mają być dostępne z innych modułów, to muszą być zadeklarowane w specjalnym module (pliku) typu Module. Dodamy taki obiekt do naszego projektu, a postępowanie jest standardowe: w oknie Solution Explorer klikamy prawym przyciskiem myszy nazwę naszego rozwiązania, z menu kontekstowego wybieramy polecenie Add i dalej New Item. 20

21 W otwartym oknie Add New Item wskazujemy obiekt Module, w polu Name wpisujemy jego nazwę i przyciskiem Add dodajemy obiekt do naszego rozwiązania. W kodzie klasy obiektu ModulWspolny możemy teraz zadeklarować potrzebne zmienne, stałe, struktury, utworzyć publiczne i prywatne procedury i funkcje. Poniże kod tych deklaracji, w miarę dalszych prac można oczekiwać, że będziemy dodawać albo nowe zmienne, albo nowe procedury i funkcje do tego modułu. Jako pierwsze deklarowane są takie zmienne jak strtytul (tu będzie tytuł naszej aplikacji), strbaza (łańcuch połączenia do bazy SQL), Kwestor (nazwisko i imię osoby odpowiedzialnej za wystawienie faktury), stawkavat (aktualnie obowiązująca stawka VAT na usługi wynajmu pomieszczeń), bsqlok (zmienna wskaźnikowa, wartość True wtedy, gdy z pliku konfiguracyjnego zostaną pobrane potrzebne informacje). Module ModulWspolny Public strtytul, strbaza, Kwestor As String, stawkavat As Decimal, bsqlok As Boolean ' tablica Cena() będzie przechowywać stawki za wynajem Public Cena(5) As Decimal ' struktura OpisSal definiuje zmienną użytkownika, która w zwięzły ' sposób ma opisywać oczekiwania osoby zainteresowanej wynajęciem Public Structure OpisSal Dim rodzajsali As Integer Dim zakresdat As String 21

22 Dim dnitygodnia As String Dim liczbadni As Integer Dim liczbagodzin As Integer Dim liczbastanowiskkomputerowych As Integer Dim plusprojektor As Integer ' 1 = tak, 0 -nie Dim plusbufet As Integer ' 1 = tak, 0 = nie Dim WolnaSala As Integer Dim WolnaSalaBufetowa As Integer End Structure ' Publiczna funkcja UstalGrb ma za zadanie ustalenie, który z ' formantów typu RadioButton w kontenerze GroupBox jest zaznaczony. ' warunkiem poprawnego funkcjonowania jest zapisanie zwracanej ' wartości w nazwie każdego z radiobuttonów. ' dopuszczalna numeracja od 0 do 9 Public Function UstalGrb(ByVal grb As GroupBox) As Integer Dim rdb As RadioButton For Each rdb In grb.controls If rdb.checked Then Try Return CInt(rdb.Name.Substring(rdb.Name.Length - 1, 1)) Catch ex As Exception Return 0 End Try End If Next Return 0 End Function ' prywatna funkcja wykorzystywana w innych procedurach tego modułu Private Function WymienZnakNaPozycji(ByVal tekst As String, _ ByVal pozycja As Integer, ByVal znak As String) As String Select Case pozycja Case 1 Return znak & tekst.substring(1, tekst.length - 1) Case tekst.length Return tekst.substring(0, tekst.length - 1) & znak Case Else Return tekst.substring(0, pozycja - 1) & znak & _ tekst.substring(pozycja, tekst.length - pozycja) End Select End Function ' Publiczna funkcja UstalGrbVCheckBox ma za zadanie ustalenie, które ' z formantów typu CheckBox w kontenerze GroupBox są zaznaczone. 22

23 ' Funkcja zwraca ciąg znaków zer i jedynek o liczbie znaków równej ' liczbie ChceckBoxow w kontenerze, symbol 1 oznacza zaznaczenie. ' Funkcja pobiera numer formantu z jego nazwy, numer występuje po ' znaku podkreślenia. Public Function UstalGrbCheckBox(ByVal grb As GroupBox) As String Dim chb As CheckBox, x As Integer, tp As String tp = RepeatString("0", grb.controls.count) Dim tw() As String For Each chb In grb.controls If chb.checked Then Try tw = chb.name.split("_") x = CInt(tw(1)) tp = WymienZnakNaPozycji(tp, x, "1") Catch ex As Exception Return "Błąd" End Try End If Next Return tp End Function ' prywatna funkcja wykorzystywana w innych procedurach tego modułu Private Function RepeatString(ByVal znak As Char, _ ByVal ile As Integer) As String Dim i As Integer, t As String = "" For i = 1 To ile t &= znak Next Return t End Function End Module 3.4 Plik konfiguracyjny W środowisku VS.NET istnieje możliwości przechowywania wybranych informacji w specjalnym pliku XML o nazwie zastrzeżonej app.config. Po kompilacji plik ten umieszczany jest w tym samym folderze co plik wykonywalny aplikacji pod nazwą taką jak nazwa rozwiązania uzupełnioną o fragment,exe.config (w przykładzie omawianym w tym opracowaniu będzie to plik o nazwie SpWynajemSal.exe.config). Plik ten może być swobodnie modyfikowany w dowolnym edytorze XML, a także w np. Notatniku. Wiele wierszy tego pliku nie może być zmienione, nas będzie interesował fragment między znacznikami <appsettings> i </appsettings>. 23

24 <?xml version="1.0" encoding="utf-8"?> <configuration> <system.diagnostics> <sources> <!-- This section defines the logging configuration for My.Application.Log --> <source name="defaultsource" switchname="defaultswitch"> <listeners> <add name="filelog"/> <!-- Uncomment the below section to write to the Application Event Log --> <!--<add name="eventlog"/>--> </listeners> </source> </sources> <switches> <add name="defaultswitch" value="information" /> </switches> <sharedlisteners> <add name="filelog" type="microsoft.visualbasic.logging.filelogtracelistener, Microsoft.VisualBasic, Version= , Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorarchitecture=msil" initializedata="filelogwriter"/> <!-- Uncomment the below section and replace APPLICATION_NAME with the name of your application to write to the Application Event Log --> <!--<add name="eventlog" type="system.diagnostics.eventlogtracelistener" initializedata="application_name"/> --> </sharedlisteners> </system.diagnostics> <! to jest fragment dla nas --> <appsettings> <add key="tytul" value="system obsługi wynajmu sal WSZiM w Sochaczewie"/> <add key="bazasql" value="datasource=boss-tecra\jg_sqlserver;initial Catalog=SaleWSZiM;Integrated Security=True"/> <add key="vat" value="0,23"/> <add key="kwestor" value="maria Kowalska"/> </appsettings> </configuration> 24

25 Plik wzorcowy app.config można dodać do naszego rozwiązania pobierając go z folderu PomocniczePliki, przy czym postępujemy podobnie jak przy dodawaniu innych obiektów różnica polega jedynie na tym, że będziemy wywoływać polecenie Existing Item zamiast New Item. Po dodaniu pliku do rozwiązania możemy zmodyfikować potrzebny fragment z poziomu VisualStudio (wystarczy zmiana nazwy serwera SQL oraz nazwy bazy danych na tym serwerze). Plik app.config musi być odczytany w momencie startu aplikacji, czyli w momencie otwierania formularza głównego frmmdiform. Zadanie to zrealizujemy w procedurze obsługującej zdarzenie Load tego formularza. Odczytanie pliku konfiguracyjnego wymaga zaimportowania niżej pokazanych przestrzeni nazw. Pobrane informacje są przypisywane do odpowiednich zmiennych globalnych (zadeklarowanych w ModulWspolny), Musimy także dodać odpowiednią referencję do biblioteki System.configuration (we właściwościach projektu w zakładce References). Imports System Imports System.Configuration Imports System.Configuration.ConfigurationSettings Public Class frmmdiform Private Sub frmmdi_load(byval sender As Object, _ ByVal e As System.EventArgs) Handles Me.Load Try strtytul =ConfigurationManager.AppSettings("Tytul") strbaza = ConfigurationManager.AppSettings("BazaSQL") StawkaVAT = ConfigurationManager.AppSettings("Vat") Kwestor = ConfigurationManager.AppSettings("Kwestor") bsqlok = True Catch ex As Exception MsgBox("Mam problem z odczytaniem pliku konfiguracyjnego", _ MsgBoxStyle.Critical, "Uruchomienie formularza MDI") End Try Me.Text = strtytul End Sub ' dalsze instrukcje w tej klasie Rnd Class 25

26 3.5 Potrzebne klasy zewnętrzne W tworzonej aplikacji możemy wykorzystać kilka interesujących klas, które poznaliśmy w semestrze pierwszym. Klasy te możemy włączyć do naszego rozwiązania w postaci odpowiedniego pliku, inna możliwość to utworzenie biblioteki DLL (ang. Dynamic link library) i wskazanie we właściwościach projektu lokalizacji takiej biblioteki. Dla treningu zastosujemy pierwsze rozwiązanie do klasy CForSorageSub, a drugie do dwóch pozostałych klas CForStorageSub W folderze przeznaczonym dla przechowywania plików demonstracyjnych tego projektu znajduje się plik CForStorageSub.vb, który zawiera pełny kod tej klasy. Zaimportujemy teraz ten plik do naszego projektu (dokładniej: rozwiązania). Robimy to analogicznie jak w przypadku pliku konfiguracyjnego: 1) Klik prawym przyciskiem myszy na nazwę rozwiązania w oknie Solution Explerer; 2) Z menu kontekstowego wybieramy polecenie Add i dalej Existing Item; 3) W oknie Add Exiting Item wskazujemy potrzebny plik (wcześniej otwierając stosowny folder); 4) Klik przycisku Add importuje wskazany plik i włącza go do naszego rozwiązania. Widok okna Solution Explorer po zaimportowaniu tego pliku pokazany jest obok. 26

27 3.5.2 CValidacja W przypadku klasy CValidacja postąpimy inaczej, skorzystamy z faktu, że dysponujemy wersją DLL tej klasy, a więc wskażemy we właściwościach rozwiązania referencję do tej biblioteki. Wykonujemy kolejne kroki: 1) Otwieramy okno właściwości rozwiązania (klik odpowiedniej ikony w oknie Solution Explorer lub z menu kontekstowego lub z menu głównego); 2) Przechodzimy do zakładki Referenses; 3) Poprzez klik przycisku Add otwieramy okno dodawania referencji; 4) W oknie Add Reference wskazujemy potrzebny plik biblioteki DLL; 5) Klik przycisku OK dodaje referencję (adres) do wskazanego pliku biblioteki (tym samym kompilator VisualStudio będzie wiedział, gdzie szukać tego pliku). Po dołączeniu referencji do biblioteki CValidacja.dll w oknie referencji tworzonego rozwiązania znajdziemy stosowny wpis. 27

28 3.5.3 CDataGridPrint 28

29 3.6 Formularz frmnowasala Zaprojektujemy teraz formularz przeznaczony do zarejestrowania nowej sali dydaktycznej. Zaczynamy od dodania do naszego rozwiązania nowego obiektu typu Windows Form, któremu nadajemy nazwę frmnowasala. Na powierzchni formularza umieścimy następujące obiekty (formanty): TextBox o nazwie txtnumer tu będziemy oczekiwać numeru sali; CheckBox o nazwie chbprojektor pozwoli na określenie czy w sali jest projektor; ComboBox o nazwie cbotypsali będziemy w nim wybierać typ sali; DataGridView o nazwie dgvzdjecia w tym formancie będzie można wpisać (w taki lub inny sposób nazwy plików zdjęć danej sali, jeżeli takowe będą); Button o nazwie btnzapisz przycisk uruchamiający procedurę zapisu danych; Button o nazwie btnbrowse przycisk uruchamiający okno typu OpenFileDialog, w którym użytkownik będzie mógł wskazać pliki zdjęć danej sali; Label z domyślną nazwą formanty opisujące pole tekstowe, pole kombi i datagrid. Dodatkowo do projektu formularza dodajemy formant typu ErrorProvider, który zostaje umieszczony na tzw. tacy. Nazwę tego formantu można pozostawić bez zmiany (domyślną). Poniżej widok projektu tego formularza, jego właściwość FormBorderStyle została zmieniona na FixedToolWindow, co nie pozwoli na zmianę jego rozmiaru. 29

30 W kodzie klasy tego formularza musimy utworzyć szereg procedur obsługujących jego funkcjonowanie, będą to oczywiście procedury zdarzeniowe. Kod zaczyna się od zaimportowania przestrzeni nazw CValidacjaJG, jest to przestrzeń nazw wykorzystywana przez bibliotekę DLL, którą wykorzystamy do walidacji wprowadzonych danych. Imports CValidacjaJG Public Class frmnowasala ' pole tekstowe txtnumer powinno umożliwić wprowadzenie tylko ' znaków cyfr (0 do 9), klawisza Back oraz Delete ' Procedura obsługująca zdarzenie KeyPress realizuje to zadanie Private Sub txtnumer_keypress(byval sender As Object, ByVal e As _ System.Windows.Forms.KeyPressEventArgs) _ Handles txtnumer.keypress If e.keychar >= "0" AndAlso e.keychar <= "9" Then ' cyfry OK e.handled = False ElseIf Asc(e.KeyChar) = Keys.Back Or _ Asc(e.KeyChar) = Keys.Delete Then ' delete i backspace ok e.handled = False Else' reszta nie jest OK Beep() e.handled = True End If End Sub Warto zauważyć, że procedura ta może nam się przydać także w innych przypadkach, a więc warto ją utworzyć w module wspólnym, wtedy będzie ją można wykorzystywać wielokrotnie. Poniżej kod tej procedury (w module wspólnym). Public Function ObslugaKeyPress(ByVal znak As Char) As Boolean If znak >= "0" AndAlso znak <= "9" Then ' cyfry OK Return False ElseIf Asc(znak) = Keys.Back Or Asc(znak) = Keys.Delete Then 'delete i backspace ok Return False Else' reszta nie OK Beep() Return True End If End Function Mając napisaną tę procedurę (funkcję) procedura obsługi zdarzenia KeyPress pola tekstowego txtnumer jest bardzo prosta. 30

31 Private Sub txtnumer_keypress(byval sender As Object, ByVal e As _ System.Windows.Forms.KeyPressEventArgs) _ Handles txtnumer.keypress e.handled = ObslugaKeyPress(e.KeyChar) End Sub Procedura obsługująca zdarzenia Load formularza musi utworzyć źródło danych dla formantu dgvzdjecia. Private Sub frmnowasala_load(byval sender As Object, _ ByVal e As System.EventArgs) Handles Me.Load ' w formularzu jest formant dgvzdjecia, nie jest podpięty ' pod żadne źródło danych. Jeżeli chcemy mieć możliwość dodawania ' nazw plików zdjęć sal, to musimy utworzyć obiekt DataTable Dim dt As New DataTable ' a następnie dodać do niego nową kolumnę typu tekstowego dt.columns.add(new DataColumn("Zdjecie", GetType(String))) ' można teraz przypisać obiekt dt jako źródło gridu Me.dgvZdjecia.DataSource = dt End Sub Procedura obsługująca zdarzenie Click przycisku btnbrowse tworzy i wyświetla okna dialogowe typu OpenFileDialog oczekując na wskazanie plików zdjęć danej sali. Private Sub btnbrowse_click(byval sender As System.Object, _ ByVal e As System.EventArgs) Handles btnbrowse.click Dim t() As String ' naszym zamiarem jest dopisanie wiersza lub wierszy do gridu ' deklarujemy obiekt dt jako DataTable i przypisujemy mu źródło ' danych gridu Dim dt As DataTable = Me.dgvZdjecia.DataSource ' deklarujemy i tworzymt egzemplarz klasy OpenFileDialog Dim ofd As New OpenFileDialog ' konstrukcja wiążąca z uwagi na konieczność zdefiniowania kilku ' właśności tego obiektu With ofd.title = "Proszę wskazać plik zdjęcia (jpg, gif lub bmp)".initialdirectory = "E:\".Multiselect = True.Filter = "Obrazy JPEG *.jpg Obrazy GIF *.Gif Obrazy Bmp *.bmp Wszystkie pliki *.*" End With ' otwieramy okno i badamy, czy użytkownik wybrał jeden lub ' więcej plików 31

32 If ofd.showdialog = Windows.Forms.DialogResult.OK Then ' wybrał, przeglądamy kolekcję nazw plików (pełna ścieżka) For Each strfile As String In ofd.filenames ' metoda Split dzieli ścieżkę na fragmenty opisujące ' dysk i foldery t = strfile.split("\") ' ostatni element to potrzebna nazwa pliku ' dodajemy go do obiekty dt korzystając z metody Add dla ' Rows. Wstawiamy ostatni element tablicy t, jego indeks ' to UBound(t) dt.rows.add(t(ubound(t))) Next ' odświeżamy obiekt dgv Me.dgvZdjecia.Refresh() End If End Sub Musimy jeszcze napisać procedurę obsługującą zdarzenie Click przycisku btnzapisz, ale wcześniej musimy utworzyć klasę, która będzie odpowiadała za wykonanie tego polecenia i kliku innych jeszcze związanych z obsługą sal Klasa CAdministracja Będzie to klasa potomna dziedzicząca po klasie CForStorageSub. Utworzymy w niej interfejs o nazwie ISale, będzie on zawierał funkcje i metody związane z operacjami związanymi z salami dydaktycznymi (dodanie nowej sali, edycja, usunięcie). Zaczynamy od dodania do rozwiązania nowego obiektu typu Class, któremu nadajemu nazwę CAdministracja. W kodzie tej klasy wpisujemy najpierw instrukcję importu potrzebnych przestrzeni nazw. Imports System Imports System.Data Imports System.Data.SqlClient Po instrukcjach importu deklarujemy interfejs ISale podając nazwy procedur i ich parametry. Public Interface ISale Function Komunikat() As String Sub PrzygotujNowaSala(ByVal strconn As String, _ ByVal frm As frmnowasala) Sub ZapiszSale(ByVal strconn As String, ByVal frm As frmnowasala) End Interface 32

33 Właściwy kod klasy zaczynamy od instrukcji dziedziczenia po klasie bazowej, dalej będzie instrukcja o implementacji interfejsu ISale oraz deklaracje zmiennych prywatnych klasy. Public Class CAdministracja Inherits CForStorageSub Implements ISale Private mkomunikat As String = "" Kolejno tworzymy instrukcje opisujące sposób działania funkcji i procedur interfejsu ISale. Funkcja Komunikat zwraca zmienną prywatną klasy mkomunikat, zgodnie z naszą koncepcją będzie to komunikat precyzujący ewentualny błąd czasu wykonania. Public Function Komunikat() As String Implements ISale.Komunikat Return mkomunikat End Function Procedura (metoda) PrzygotujNowaSala odpowiada za pobranie z bazy danych dwóch pól z tabeli RodzajSal, które wykorzystamy jako źródło danych pola kombi cbotypsali. Pobranie będzie wykonane poprzez wywołanie procedury przechowywanej o nazwie pdajtypsali. Public Sub PrzygotujNowaSala(ByVal strconn As String, _ ByVal frm As frmnowasala) _ Implements ISale.PrzygotujNowaSala Dim conn As New SqlConnection(strConn) Dim dt As DataTable Try conn.open() ' pobranie z bazy rekordestu, który będzie źródłem danych ' dla pola kombo cbotypsali, procedura SQL nie ma parametrów dt = MyBase.DajRekordset(conn, "dbo.pdajtypsali", "brak") ' zmienna bflaga zostaje ustawiona na False, dzięki temu ' w trakcie przypisywania właściwości DisplayMemeber oraz ' ValueMember ' będziemy mogli szybko opuścić procedurę obsługi zdarzenia ' SelectedIndexChange w frmnowasala dla cbotypsali bflaga = False ' stosujemy strukturę wiążącą With frm.cbotypsali.datasource = dt.displaymember = "rodzaj" 33

34 .ValueMember = "idtyp".selectedindex = -1 End With ' przypisujemy do bflaga=true dla aktywacji procedury ' SelectedIndexChange Catch ex As Exception mkomunikat = "Problem z pobraniem danych dla typów sal" Finally ' sprzątamy po sobie conn.close() conn = Nothing End Try End Sub Procedura (metoda) ZapiszSale odpowiada za zrealizowanie zapisu wprowadzonych informacji do tabeli Sale, a jeżeli użytkownik podał nazwę zdjęcia (lub nazwy zdjęć), to zostaną one zapisane do tabeli ZdjeciaSal. Public Sub ZapiszSale(ByVal strconn As String, _ ByVal frm As frmnowasala) Implements ISale.ZapiszSale Dim conn As New SqlConnection(strConn), i, j As Integer Try conn.open() ' zapisujemy dane do tabeli Sale, ale tylko wtedy, gdy ' numner sali jest unikalny i = MyBase.DajWartosc(conn, "dbo.pwstawsale", _ "@idnr", frm.txtnumer.text, jgtyp.jginteger, 0, _ "@projektor", IIf(frm.chbProjektor.Checked, 1, 0), _ jgtyp.jginteger, 0, _ "@idtyp", frm.cbotypsali.selectedvalue, _ jgtyp.jginteger, 0, _ "@TakNie", jgtyp.jginteger, 0) If i = 0 Then ' sala zarejestrowana, można wstawić zdjęcia, jeżeli są If frm.dgvzdjecia.rows.count > 1 Then ' są, zapisujemy MyBase.WstawWieleRekordow(conn, "dbo.pwstawzdjecie", _ frm.dgvzdjecia, _ "@idnr", jgtyp.jginteger, 0, True, frm.txtnumer.text, _ "@foto", jgtyp.jgstring, 30, False, 0) End If End If Catch ex As Exception 34

35 mkomunikat = _ "Problem z zapisaniem danych do tabel Sale i ZdjeciaSal" Finally conn.close() conn = Nothing If i = 1 And mkomunikat.length = 0 Then mkomunikat = "Sala o numerrze " & frm.txtnumer.text & _ " juz jest w bazie, odmowa zapisu" End If End Try End Sub End Class Uzupełnienie kodu klasy frmnowasala Możemy już napisać procedurę obsługującą klik przycisku btnzapisz. Skorzystamy w tym kodzie z dwóch klas: CValidacja i CAdministracja. Private Sub btnzapisz_click(byval sender As System.Object, _ ByVal e As System.EventArgs) Handles btnzapisz.click ' polecenie zapisu ma być wykonane wtedy, gdy użytkownik poda ' poprawne informacje. Do ich zweryfikowania wykorzystamy metody ' udostępnione w bibliotece CValidacja ' deklarujemy i tworzymy egzemplarz tej klasy Dim w As New CValidacja ' badamy, czy pole txtnumer jest liczbą z podanego zakresu ' numeracji sal If Not w.czytextboxtoliczba(true, Me.txtNumer, _ Me.ErrorProvider1, "Numer sali musi być podany!", minnrsali, _ maxnrsali, True) Then Exit Sub If Not w.czywybranopozycjecombo(true, Me.cboTypSali, _ Me.ErrorProvider1, "Proszę wybrać typ sali!", True) _ Then Exit Sub ' można zapisywać w = Nothing ' deklarujemy obiekt klasy CAdministracja wykorzystując interfejs ' ISale (co ograniczy dostępność metod do tego interfejsu) Dim z As ISale ' tworzymy egzemplarz klasy CAdministracja z = New CAdministracja ' wywołujemy metodę ZapiszSale z.zapiszsale(strbaza, Me) ' sprawdzamy, czy zapis zakończył się sukcesem? If z.komunikat.length > 0 Then 35

36 MsgBox(z.Komunikat, MsgBoxStyle.Critical, Me.Text) Else MsgBox("Nowa sala zapisana w bazie", MsgBoxStyle.Information, _ Me.Text) Me.Close() End If z = Nothing End Sub Uzupełnienie kodu formularza głównego Musimy jeszcze zmodyfikować instrukcje uruchamiające formularz frmnowasala, chodzi o to, że ten formularz ma prawo być pokazany tylko wtedy, gdy wszystkie jego formanty będą gotowe do pracy. W przypadku tego formularza musimy przed jego pokazaniem dostarczyć dane źródłowe do formantu kombo o nazwie cbotypsal. Zrobimy to poprzez utworzenie obiektu klasy CAdministracja i wywołanie metody PrzygotujNowaSala. Pokazana niżej procedura korzysta z publicznej procedury PokazForm, która została utworzona w module ogólnym (z uwagi na to, że będziemy wielokrotnie z niej korzystać). Private Sub mnunowasala_click(byval sender As System.Object, _ ByVal e As System.EventArgs) Handles mnunowasala.click Dim frm As New frmnowasala Dim w As ISale w = New CAdministracja w.przygotujnowasala(strbaza, frm) PokazForm(w.Komunikat, frm, Me, _ "Błąd otwarcia formularza frmnowasala", _ "Formularz dodania nowej sali") End Sub Wspomniana procedura PokazForm otrzymuje jako argumenty te informacje, które pozwalają jej na wyświetlenie lub nie danego formularza. Public Sub PokazForm(ByVal strkomunikat As String, _ ByRef frm As Form, ByRef frmparent As Form, _ ByVal stropisoknakomunikatu As String, _ Optional ByVal strtytulformy As String = Nothing) If strkomunikat.length > 0 Then MsgBox(strKomunikat, MsgBoxStyle.Critical, _ stropisoknakomunikatu) Else If Not IsNothing(strTytulFormy) Then 36

37 frm.text = strtytulformy End If frm.mdiparent = frmparent frm.show() End If End Sub Formularz frmnowasala w pracy Na zakończenie kilka zrzutów ekranowych pokazujących działanie tego formularza. 37

38 I zapis w bazie, tabela Sale (ostatnia pozycja w tej tabeli) oraz w ZdjeciaSal (dwa ostatnie rekordy). 38

Janusz Górczyński. Opis projektu WynajemSal

Janusz Górczyński. Opis projektu WynajemSal Janusz Górczyński Opis projektu WynajemSal WSZiM w Sochaczewie, 2011 Spis treści 1 WSTĘP...3 2 BAZA DANYCH...4 2.1 TABELE...4 2.2 PROCEDURY PRZECHOWYWANE...11 3 APLIKACJA WINDOWSOWA...15 3.1 UTWORZENIE

Bardziej szczegółowo

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Projekt Hurtownia, realizacja rejestracji dostaw produktów Projekt Hurtownia, realizacja rejestracji dostaw produktów Ćwiczenie to będzie poświęcone zaprojektowaniu formularza pozwalającego na rejestrację dostaw produktów dla naszej hurtowni. Dane identyfikujące

Bardziej szczegółowo

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Projekt Hurtownia, realizacja rejestracji dostaw produktów Projekt Hurtownia, realizacja rejestracji dostaw produktów Ćwiczenie to będzie poświęcone zaprojektowaniu formularza pozwalającego na rejestrację dostaw produktów dla naszej hurtowni. Dane identyfikujące

Bardziej szczegółowo

Projekt Hurtownia, realizacja skojarzeń dostawców i produktów

Projekt Hurtownia, realizacja skojarzeń dostawców i produktów niżej. Projekt Hurtownia, realizacja skojarzeń dostawców i produktów W bazie danych HurtowniaSP istnieją tabele Dostawcy oraz Produkty, ich definicje przypomniane są W bazie zdefiniowano także tabelę DostawcyProdukty,

Bardziej szczegółowo

Platforma.NET laboratorium 4 Aktualizacja: 15/11/2013. Visual Basic.NET dostęp do bazy danych. Baza Microsoft SQL Server Compact

Platforma.NET laboratorium 4 Aktualizacja: 15/11/2013. Visual Basic.NET dostęp do bazy danych. Baza Microsoft SQL Server Compact Platforma.NET laboratorium 4 Aktualizacja: 15/11/2013 Prowadzący: mgr inż. Tomasz Jaworski Strona WWW: http://tjaworski.kis.p.lodz.pl/ Visual Basic.NET dostęp do bazy danych Baza Microsoft SQL Server Compact

Bardziej szczegółowo

Tablice, DataGridView

Tablice, DataGridView Tablice, DataGridView Gdy rośnie liczba danych do przechowywania w programie, a następnie ich obrobienia - pojawiają się nowe struktury danych (moŝna by powiedzieć pojemniki na dane) zwane tablicami. Tablica

Bardziej szczegółowo

3 Delegacje. 3.1 Tworzenie delegacji. 3.2 Skojarzenie delegacji z procedurą czy funkcją

3 Delegacje. 3.1 Tworzenie delegacji. 3.2 Skojarzenie delegacji z procedurą czy funkcją 3 Delegacje Delegacja to specjalny typ danych, który przechowuje referencję (adres) do procedury lub funkcji. W środowisku.net delegacja jest odpowiednikiem wskaźnika (pointer) do funkcji znanego z języka

Bardziej szczegółowo

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio Podstawy programowania Ćwiczenie Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio Tematy ćwiczenia algorytm, opis języka programowania praca ze środowiskiem, formularz, obiekty

Bardziej szczegółowo

Rejestracja sprzedaży

Rejestracja sprzedaży Rejestracja sprzedaży Powoli zbliżamy się do zakończenia prac nad projektem Hurtownia. Zajęcia 5 zjazdu szkoleniowego zostaną poświęcone na zabezpieczenie procesu rejestracji sprzedaży. Problem będzie

Bardziej szczegółowo

2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej.

2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej. Formularze VBA Przykład1 INTERAKTYWNY FORMULARZ Program tworzący interaktywny formularz. Objaśnienie: w dowolnym momencie można wprowadzić wartość w polu tekstowym ID, Excel VBA wczytuje odpowiedni rekord.

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości część 2 Zaprojektowaliśmy stronę dodaj_dzial.aspx proszę jednak spróbować dodać nowy dział nie podając jego nazwy

Bardziej szczegółowo

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS UNIWERSYTET ZIELONOGÓRSKI INSTYTUT INFORMATYKI I ELEKTROTECHNIKI ZAKŁAD INŻYNIERII KOMPUTEROWEJ Przygotowali: mgr inż. Arkadiusz Bukowiec mgr inż. Remigiusz Wiśniewski LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Rozpoczniemy od zaprojektowania bazy danych w programie SYBASE/PowerDesigner umieszczamy dwie Encje (tabele) prawym

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium

Zaawansowane aplikacje internetowe - laboratorium Zaawansowane aplikacje internetowe - laboratorium Web Services (część 3). Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2005. Ponadto wymagany jest

Bardziej szczegółowo

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

Bardziej szczegółowo

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface) Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface) 1. Udostępnianie wszystkich prywatnych atrybutów do prezentacji, wprowadzenie standardu nazewnictwa plików nazwy plików

Bardziej szczegółowo

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , , Celem ćwiczeń jest zaprojektowanie oraz utworzenie na serwerze bazy danych przechowującej informacje na temat danych kontaktowych. Celem jest również zapoznanie z podstawowymi zapytaniami języka SQL służącymi

Bardziej szczegółowo

5.4. Tworzymy formularze

5.4. Tworzymy formularze 5.4. Tworzymy formularze Zastosowanie formularzy Formularz to obiekt bazy danych, który daje możliwość tworzenia i modyfikacji danych w tabeli lub kwerendzie. Jego wielką zaletą jest umiejętność zautomatyzowania

Bardziej szczegółowo

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika Prowadzący: Dr inż. Jacek Habel Instytut Technologii Maszyn i Automatyzacji Produkcji Zakład Projektowania Procesów

Bardziej szczegółowo

2. W oknie dialogowym Choose Toolbox Items w zakładce.net Framework Components naciskamy przycisk Browse...

2. W oknie dialogowym Choose Toolbox Items w zakładce.net Framework Components naciskamy przycisk Browse... KORZYSTANIE Z KONTROLKI.NET LENDEVICERS232 DODAWANIE KONTROLKI DO ZBIORU KOMPONENTÓW DOSTĘPNYCH W PALECIE TOOLBOX (ŚRODOWISKA PROGRAMISTYCZNE FIRMY MICROSOFT) W środowisku programistycznym (Visual C++,

Bardziej szczegółowo

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1 1 LINQ 1 1. Cel zajęć Celem zajęć jest zapoznanie się z technologią LINQ oraz tworzeniem trójwarstwowej aplikacji internetowej. 2. Zadanie Proszę przygotować aplikację WWW, która: będzie pozwalała na generowanie

Bardziej szczegółowo

Laboratorium 7 Blog: dodawanie i edycja wpisów

Laboratorium 7 Blog: dodawanie i edycja wpisów Laboratorium 7 Blog: dodawanie i edycja wpisów Dodawanie nowych wpisów Tworzenie formularza Za obsługę formularzy odpowiada klasa Zend_Form. Dla każdego formularza w projekcie tworzymy klasę dziedziczącą

Bardziej szczegółowo

Microsoft.NET: LINQ to SQL, ASP.NET AJAX

Microsoft.NET: LINQ to SQL, ASP.NET AJAX Microsoft.NET: LINQ to SQL, ASP.NET AJAX Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2008 oraz serwer bazy danych SQL Server Express 2005 (lub

Bardziej szczegółowo

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych Paweł Paduch paduch@tu.kielce.pl 06-04-2013 Rozdział 1 Wstęp Na dzisiejszych zajęciach zajmiemy się projektem bazy danych.

Bardziej szczegółowo

Informatyka II. Laboratorium Aplikacja okienkowa

Informatyka II. Laboratorium Aplikacja okienkowa Informatyka II Laboratorium Aplikacja okienkowa Założenia Program będzie obliczał obwód oraz pole trójkąta na podstawie podanych zmiennych. Użytkownik będzie poproszony o podanie długości boków trójkąta.

Bardziej szczegółowo

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika Programowanie w SQL procedury i funkcje UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika 1. Funkcje o wartościach skalarnych ang. scalar valued

Bardziej szczegółowo

DataGridView. Aby dodawać kolumny wybieramy z listy zadań Add Column..., co wywoła okno dodawania kolumn, rys. 2. Rysunek 1

DataGridView. Aby dodawać kolumny wybieramy z listy zadań Add Column..., co wywoła okno dodawania kolumn, rys. 2. Rysunek 1 DataGridView Często potrzebujemy obiektu, który wyświetliłby tabelę zawierającą kilka kolumn i kilka wierszy. Dobrze do tego celu nadaje się obiekt DataGridView. Po przeniesieniu obiektu na formularz jest

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości

Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości Rozpoczniemy od zaprojektowania bazy danych w programie SYBASE/PowerDesigner umieszczamy dwie Encje (tabele) prawym

Bardziej szczegółowo

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3 3 ASP.NET MVC Podstawy 1 1. Cel zajęć Celem zajęć jest zapoznanie się z podstawami ASP.NET MVC 2.0 Framework. 2. Zadanie Proszę zbudować prostą aplikację WWW przy zastosowaniu framework a ASP.NET MVC 2.0

Bardziej szczegółowo

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem. WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM NetBeans Wykonał: Jacek Ventzke informatyka sem. VI 1. Uruchamiamy program NetBeans (tu wersja 6.8 ) 2. Tworzymy

Bardziej szczegółowo

Dodanie nowej formy do projektu polega na:

Dodanie nowej formy do projektu polega na: 7 Tworzenie formy Forma jest podstawowym elementem dla tworzenia interfejsu użytkownika aplikacji systemu Windows. Umożliwia uruchomienie aplikacji, oraz komunikację z użytkownikiem aplikacji. W trakcie

Bardziej szczegółowo

Przykładowa dostępna aplikacja w Visual Studio - krok po kroku

Przykładowa dostępna aplikacja w Visual Studio - krok po kroku Przykładowa dostępna aplikacja w Visual Studio - krok po kroku Zadaniem poniższego opisu jest pokazanie, jak stworzyć aplikację z dostępnym interfejsem. Sama aplikacja nie ma konkretnego zastosowania i

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 07 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami tworzenia aplikacji okienkowych w C#. Wprowadzenie teoretyczne. Rozważana w

Bardziej szczegółowo

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania 1) Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z podstawowymi elementami obiektowymi systemu Windows wykorzystując Visual Studio 2008 takimi jak: przyciski, pola tekstowe, okna pobierania danych

Bardziej szczegółowo

Materiały pomocnicze do zajęć z przedmiotu Projekt ADP

Materiały pomocnicze do zajęć z przedmiotu Projekt ADP Dr Janusz Górczyński Materiały pomocnicze do zajęć z przedmiotu Projekt ADP Czym jest projekt ADP? Projekt Microsoft Access (.adp) jest typem pliku programu Access, który zapewnia skuteczny dostęp w trybie

Bardziej szczegółowo

Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012:

Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012: Systemy baz danych 16.04.2013 1. Plan: 10. Implementacja Bazy Danych - diagram fizyczny 11. Implementacja Bazy Danych - implementacja 2. Zadania: 1. Przygotować model fizyczny dla wybranego projektu bazy

Bardziej szczegółowo

Materiały do laboratorium MS ACCESS BASIC

Materiały do laboratorium MS ACCESS BASIC Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I

Bardziej szczegółowo

DECLARE VARIABLE zmienna1 typ danych; BEGIN

DECLARE VARIABLE zmienna1 typ danych; BEGIN Procedury zapamiętane w Interbase - samodzielne programy napisane w specjalnym języku (właściwym dla serwera baz danych Interbase), który umożliwia tworzenie zapytań, pętli, instrukcji warunkowych itp.;

Bardziej szczegółowo

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby

Bardziej szczegółowo

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Laboratorium nr 4. Temat: SQL część II. Polecenia DML Laboratorium nr 4 Temat: SQL część II Polecenia DML DML DML (Data Manipulation Language) słuŝy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. NajwaŜniejsze

Bardziej szczegółowo

Instrukcja użytkownika programu QImport (wydanie I r.)

Instrukcja użytkownika programu QImport (wydanie I r.) Instrukcja użytkownika programu QImport (wydanie I 15.07.2012 r.) Wymagania techniczne komputer z procesorem 1,5 GHz lub lepszym 512 MB pamięci RAM lub więcej system operacyjny Microsoft Windows XP z dodatkiem

Bardziej szczegółowo

Instrukcja obsługi aplikacji MobileRaks 1.0

Instrukcja obsługi aplikacji MobileRaks 1.0 Instrukcja obsługi aplikacji MobileRaks 1.0 str. 1 Pierwsze uruchomienie aplikacji. Podczas pierwszego uruchomienia aplikacji należy skonfigurować połączenie z serwerem synchronizacji. Należy podać numer

Bardziej szczegółowo

Baza danych. Program: Access 2007

Baza danych. Program: Access 2007 Baza danych Program: Access 2007 Bazę danych składa się z czterech typów obiektów: tabela, formularz, kwerenda i raport (do czego, który służy, poszukaj w podręczniku i nie bądź za bardzo leniw) Pracę

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych widok ankiety w przeglądarce Rozpoczniemy od zaprojektowania bazy danych w programie SYBASE/PowerDesigner umieszczamy

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych widok ankiety w przeglądarce Rozpoczniemy od zaprojektowania bazy danych w programie SYBASE/PowerDesigner umieszczamy

Bardziej szczegółowo

Leszek Stasiak Zastosowanie technologii LINQ w

Leszek Stasiak Zastosowanie technologii LINQ w Leszek Stasiak Zastosowanie technologii LINQ w C# 1. Wstęp - połączenie Do naszych zadań będziemy używać Microsoft Visual Studio 2010. Stwórzmy nowy projekt Windows Form Application. Mając do dyspozycji

Bardziej szczegółowo

BACKUP BAZ DANYCH FIREBIRD

BACKUP BAZ DANYCH FIREBIRD BACKUP BAZ DANYCH FIREBIRD SPIS TREŚCI Informacje ogólne... 2 Tworzenie projektu... 2 Krok 1: Informacje podstawowe... 2 Krok 2: Dane... 3 Backup bazy umieszczonej na serwerze... 3 Bezpośredni backup pliku

Bardziej szczegółowo

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy - Narzędzie Windows Forms - Przykładowe aplikacje 1 Narzędzia Windows Form Windows Form jest narzędziem do tworzenia aplikacji dla

Bardziej szczegółowo

Kostki OLAP i język MDX

Kostki OLAP i język MDX Kostki OLAP i język MDX 24 kwietnia 2015 r. Opis pliku z zadaniami Wszystkie zadania na zajęciach będą przekazywane w postaci plików PDF sformatowanych jak ten. Będą się na nie składały różne rodzaje zadań,

Bardziej szczegółowo

Baza danych sql. 1. Wprowadzenie

Baza danych sql. 1. Wprowadzenie Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z edytora graficznego struktury bazy danych, który

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,

Bardziej szczegółowo

Instrukcja użytkownika programu QImport (wydanie II 25.07.2012 r.)

Instrukcja użytkownika programu QImport (wydanie II 25.07.2012 r.) Instrukcja użytkownika programu QImport (wydanie II 25.07.2012 r.) Wymagania techniczne komputer z procesorem 1,5 GHz lub lepszym 512 MB pamięci RAM lub więcej system operacyjny Microsoft Windows XP z

Bardziej szczegółowo

1. Zarządzanie informacją w programie Access

1. Zarządzanie informacją w programie Access 1. Zarządzanie informacją w programie Access a. 1. Cele lekcji i. a) Wiadomości Uczeń: zna definicję bazy danych i jej zadania, zna pojęcia: rekord, pole, klucz podstawowy, zna obiekty bazy danych: tabele,

Bardziej szczegółowo

Instalacja programu:

Instalacja programu: Instrukcja programu Konwerter Lido Aktualizacja instrukcji : 2012/03/25 INSTALACJA PROGRAMU:... 1 OKNO PROGRAMU OPIS... 3 DODANIE MODUŁÓW KONWERSJI... 3 DODANIE LICENCJI... 5 DODANIE FIRMY... 7 DODAWANIE

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości

Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości Rozpoczniemy od zaprojektowania bazy danych w programie SYBASE/PowerDesigner umieszczamy dwie Encje (tabele) prawym

Bardziej szczegółowo

Połączenie AutoCad'a z bazą danych

Połączenie AutoCad'a z bazą danych Połączenie AutoCad'a z bazą danych Założenie bazy danych z pojedynczą tablicą Samochody, za pomocą aplikacji MS Access 1. Na dysku C: założyć katalog: C:\TKM\GR1x 2. Do tego katalogu przekopiować plik:

Bardziej szczegółowo

Bazy danych. Polecenia SQL

Bazy danych. Polecenia SQL Bazy danych Baza danych, to miejsce przechowywania danych. Dane w bazie danych są podzielone na tabele. Tabele składają się ze ściśle określonych pól i rekordów. Każde pole w rekordzie ma ściśle ustalony

Bardziej szczegółowo

Projektowanie baz danych za pomocą narzędzi CASE

Projektowanie baz danych za pomocą narzędzi CASE Projektowanie baz danych za pomocą narzędzi CASE Metody tworzenia systemów informatycznych w tym, także rozbudowanych baz danych są komputerowo wspomagane przez narzędzia CASE (ang. Computer Aided Software

Bardziej szczegółowo

Podstawy technologii WWW

Podstawy technologii WWW Podstawy technologii WWW Ćwiczenie 11 PHP, MySQL: więcej, więcej!, więcej!!. tabel i funkcjonalności. Na dzisiejszych zajęciach zdefiniujemy w naszej bazie kilka tabel powiązanych kluczem obcym i zobaczymy,

Bardziej szczegółowo

Kancelaria rozpoczęcie pracy z programem

Kancelaria rozpoczęcie pracy z programem Kancelaria rozpoczęcie pracy z programem Przyciski w programie Kancelaria 2.0 i Kancelaria LT Przyciski dostępne w poszczególnych modułach programu (na dole okien): Przejście do pierwszego Przejście do

Bardziej szczegółowo

Viatoll Calc v1.3. Viatoll Calc. Instrukcja użytkownika. Strona 1

Viatoll Calc v1.3. Viatoll Calc. Instrukcja użytkownika. Strona 1 Viatoll Calc Instrukcja użytkownika Strona 1 Spis treści 1 Wstęp...3 2 Opis panelu głównego...3 2.1 Menu aplikacji...4 2.2 Tabela z trasami...5 2.3 Strona kalkulatora viatoll...6 2.4 Pasek statusu...7

Bardziej szczegółowo

Instrukcja laboratoryjna cz.3

Instrukcja laboratoryjna cz.3 Języki programowania na platformie.net cz.2 2015/16 Instrukcja laboratoryjna cz.3 Język C++/CLI Prowadzący: Tomasz Goluch Wersja: 2.0 I. Utworzenie projektu C++/CLI z interfejsem graficznym WPF 1 Cel:

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Wygodniejszym i wydajniejszym sposobem przechowywania i korzystania z dużej ilości danych zapisanych na serwerze jest współpraca z relacyjną bazą danych. 2 1. Utworzyć bazę danych.

Bardziej szczegółowo

Modelowanie obiektowe - Ćw. 1.

Modelowanie obiektowe - Ćw. 1. 1 Modelowanie obiektowe - Ćw. 1. Treść zajęć: Zapoznanie z podstawowymi funkcjami programu Enterprise Architect (tworzenie nowego projektu, korzystanie z podstawowych narzędzi programu itp.). Enterprise

Bardziej szczegółowo

Dodawanie operacji dodatkowych w WAPRO Mag.

Dodawanie operacji dodatkowych w WAPRO Mag. Dodawanie operacji dodatkowych w WAPRO Mag. obowiązuje od wersji 8.21.0 Opracował i wykonał: Grzegorz Lenarczyk Asseco Business Solutions SA Oddział w Warszawie Warszawa, ul. Branickiego 13 02-972 Warszawa

Bardziej szczegółowo

Obowiązuje od wersji

Obowiązuje od wersji Obowiązuje od wersji 8.30.0 1. Wstęp czym są gniazda rozszerzeń?... 2 2. Edytor gniazd rozszerzeń - informacje podstawowe... 3 3. Dostępne rodzaje funkcji w gniazdach rozszerzeń... 6 3.1 Procedura SQL...

Bardziej szczegółowo

Moduł Handlowo-Magazynowy Przeprowadzanie inwentaryzacji z użyciem kolektorów danych

Moduł Handlowo-Magazynowy Przeprowadzanie inwentaryzacji z użyciem kolektorów danych Moduł Handlowo-Magazynowy Przeprowadzanie inwentaryzacji z użyciem kolektorów danych Wersja 3.77.320 29.10.2014 r. Poniższa instrukcja ma zastosowanie, w przypadku gdy w menu System Konfiguracja Ustawienia

Bardziej szczegółowo

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu

Bardziej szczegółowo

5.3. Tabele. Tworzenie tabeli. Tworzenie tabeli z widoku projektu. Rozdział III Tworzenie i modyfikacja tabel

5.3. Tabele. Tworzenie tabeli. Tworzenie tabeli z widoku projektu. Rozdział III Tworzenie i modyfikacja tabel 5.3. Tabele Tabela jest podstawowym elementem bazy danych. To właśnie w tabelach gromadzone są w bazie rekordy danych. Projektując tabelę, definiujemy, jakie pola będzie zawierał pojedynczy rekord informacji.

Bardziej szczegółowo

Bloki anonimowe w PL/SQL

Bloki anonimowe w PL/SQL Język PL/SQL PL/SQL to specjalny język proceduralny stosowany w bazach danych Oracle. Język ten stanowi rozszerzenie SQL o szereg instrukcji, znanych w proceduralnych językach programowania. Umożliwia

Bardziej szczegółowo

Tworzenie bazy danych na przykładzie Access

Tworzenie bazy danych na przykładzie Access Tworzenie bazy danych na przykładzie Access Tworzenie tabeli Kwerendy (zapytania) Selekcja Projekcja Złączenie Relacja 1 Relacja 2 Tworzenie kwedend w widoku projektu Wybór tabeli (tabel) źródłowych Wybieramy

Bardziej szczegółowo

Ćwiczenia 2 IBM DB2 Data Studio

Ćwiczenia 2 IBM DB2 Data Studio Ćwiczenia 2 IBM DB2 Data Studio Temat: Aplikacje w Data Studio 1. Projekty Tworzenie procedur, UDF, trygerów zaczynamy od utworzenia projektu File -> New -> Project wybieramy Data Development Project.

Bardziej szczegółowo

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z możliwości utworzenia struktury bazy danych z

Bardziej szczegółowo

Karty pracy. Ustawienia. W tym rozdziale została opisana konfiguracja modułu CRM Karty pracy oraz widoki i funkcje w nim dostępne.

Karty pracy. Ustawienia. W tym rozdziale została opisana konfiguracja modułu CRM Karty pracy oraz widoki i funkcje w nim dostępne. Karty pracy W tym rozdziale została opisana konfiguracja modułu CRM Karty pracy oraz widoki i funkcje w nim dostępne. Ustawienia Pierwszym krokiem w rozpoczęciu pracy z modułem Karty Pracy jest definicja

Bardziej szczegółowo

Kurs walut. Specyfikacja projektu. Marek Zając 2013-12-16

Kurs walut. Specyfikacja projektu. Marek Zając 2013-12-16 Kurs walut Specyfikacja projektu Marek Zając 2013-12-16 Spis treści 1. Podsumowanie... 2 1.1 Wstęp... 2 1.2 Projekt interfejsu... 2 1.2.1 Rozmiar głównego okna... 2 2. Słownik pojęć... 2 2.1 Definicja

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

Krótka instrukcja instalacji Adobe Acrobat Reader

Krótka instrukcja instalacji Adobe Acrobat Reader Krótka instrukcja instalacji Adobe Acrobat Reader Program Adobe Acrobat Reader jest niezbędny do otwarcia dokumentu e-faktury tp. Jeżeli nie posiadają go Państwo w swoim komputerze, należy go zainstalować.

Bardziej szczegółowo

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI LABORATORIUM TECHNOLOGIA SYSTEMÓW INFORMATYCZNYCH W BIOTECHNOLOGII Aplikacja bazodanowa: Cz. II Rzeszów, 2010 Strona 1 z 11 APLIKACJA BAZODANOWA MICROSOFT ACCESS

Bardziej szczegółowo

Klasa bazowa i klasy potomne - doskonalenie umiejtnoci projektowania i wykorzystania klas (45 min)

Klasa bazowa i klasy potomne - doskonalenie umiejtnoci projektowania i wykorzystania klas (45 min) Zadanie5_28 Klasa bazowa i klasy potomne - doskonalenie umiejtnoci projektowania i wykorzystania klas (45 min) Opis zadania Wykorzystaj gotowy projekt Nowe auto, a nastpnie zaprojektuj klas bazow NoweAuto

Bardziej szczegółowo

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL,

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL, Mój projekt przedstawia bazę danych noclegów składającą się z 10 tabel. W projekcie wykorzystuje program LibreOffice Base do połączenia psql z graficznym interfejsem ( kilka formularzy przedstawiających

Bardziej szczegółowo

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz Projektowanie oprogramowania Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz 1 Wykonanie czterowarstwowej aplikacji EE z dostępem do bazy danych,

Bardziej szczegółowo

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2012. W ramach projektu budowana jest prosta

Bardziej szczegółowo

Aplikacje geodezyjne

Aplikacje geodezyjne Aplikacje geodezyjne 1. Azymut ze współrzędnych Utwórz nowy projekt o nazwie Azymut. W oknie rozmieść kontrolki mniej więcej zgodnie z rysunkiem. Obiekty mają zmienione następujące wartości cech: cecha

Bardziej szczegółowo

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście. Rodzaje triggerów Triggery DML na tabelach INSERT, UPDATE, DELETE Triggery na widokach INSTEAD OF Triggery DDL CREATE, ALTER, DROP Triggery na bazie danych SERVERERROR, LOGON, LOGOFF, STARTUP, SHUTDOWN

Bardziej szczegółowo

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych Laboratorium Technologii Informacyjnych Projektowanie Baz Danych Komputerowe bazy danych są obecne podstawowym narzędziem służącym przechowywaniu, przetwarzaniu i analizie danych. Gromadzone są dane w

Bardziej szczegółowo

Instalacja Webroot SecureAnywhere przy użyciu GPO w Active Directory

Instalacja Webroot SecureAnywhere przy użyciu GPO w Active Directory Instalacja Webroot SecureAnywhere przy użyciu GPO w Active Directory Poniższa instrukcja opisuje sposób zdalnej instalacji oprogramowania Webroot SecureAnywhere w środowiskach wykorzystujących usługę Active

Bardziej szczegółowo

Problemy techniczne SQL Server

Problemy techniczne SQL Server Problemy techniczne SQL Server Jak utworzyć i odtworzyć kopię zapasową bazy danych za pomocą narzędzi serwera SQL? Tworzenie i odtwarzanie kopii zapasowych baz danych programów Kadry Optivum, Płace Optivum,

Bardziej szczegółowo

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Prezentacja Danych i Multimedia II r Socjologia Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Celem ćwiczeń jest poznanie zasad tworzenia baz danych i zastosowania komend SQL. Ćwiczenie I. Logowanie

Bardziej szczegółowo

Paweł Górczyński, Janusz Górczyński. Aplikacja MS SQL Server i MS VB.NET do zarządzania studiami podyplomowymi

Paweł Górczyński, Janusz Górczyński. Aplikacja MS SQL Server i MS VB.NET do zarządzania studiami podyplomowymi W ykłady z infor matyki Paweł Górczyński, Janusz Górczyński Aplikacja MS SQL Server i MS VB.NET do zarządzania studiami podyplomowymi Wyższa Szkoła Zarządzania i Marketingu Sochaczew 2010 Książka ta jest

Bardziej szczegółowo

WTYCZKA FARA-TCM Dane techniczne dla twórców zewnętrznych aplikacji do obsługi map cmentarza

WTYCZKA FARA-TCM Dane techniczne dla twórców zewnętrznych aplikacji do obsługi map cmentarza 2015 WTYCZKA FARA-TCM Dane techniczne dla twórców zewnętrznych aplikacji do obsługi map cmentarza Dokumentacja techniczna dostępu do podstawowych danych cmentarnych w programie FARA. wersja 1.0 aktualizacja:

Bardziej szczegółowo

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z

Bardziej szczegółowo

1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)

1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1) Instrukcja tworzenia aplikacji EE na podstawie aplikacji z dostępem do bazy danych, prezentowanej na zajęciach lab.5 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Projektowanie i wdrażanie

Bardziej szczegółowo

Instrukcja. importu dokumentów. z programu Fakt do programu Płatnik. oraz. przesyłania danych do ZUS. przy pomocy programu Płatnik

Instrukcja. importu dokumentów. z programu Fakt do programu Płatnik. oraz. przesyłania danych do ZUS. przy pomocy programu Płatnik Fakt Dystrybucja, Instrukcja z dnia 06.2010 Instrukcja importu dokumentów z programu Fakt do programu Płatnik oraz przesyłania danych do ZUS przy pomocy programu Płatnik 1/22 1 Eksport danych z Programu

Bardziej szczegółowo

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

Ćwiczenie 1. Kolejki IBM Message Queue (MQ) Ćwiczenie 1. Kolejki IBM Message Queue (MQ) 1. Przygotowanie Przed rozpoczęciem pracy, należy uruchomić "Kreator przygotowania WebSphere MQ" oraz przejść przez wszystkie kroki kreatora, na końcu zaznaczając

Bardziej szczegółowo

Krzysztof Kluza proste ćwiczenia z baz danych

Krzysztof Kluza proste ćwiczenia z baz danych Bazy danych Baza danych to uporządkowany zbiór danych, dający się łatwo przeszukiwać. Każda pozycja bazy danych nazywana jest rekordem, z kolei rekordy składają się z pól. Przyjmując, że dysponujemy bazą

Bardziej szczegółowo

Kancelaria instalacja programu

Kancelaria instalacja programu Kancelaria instalacja programu Program Kancelaria można zainstalować w wersji przeznaczonej na pojedynczy komputer (dane zgromadzone przez użytkownika nie będą udostępniane innym pracownikom firmy) lub

Bardziej szczegółowo

Zaawansowane aplikacje WWW - laboratorium

Zaawansowane aplikacje WWW - laboratorium Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w

Bardziej szczegółowo

OpenOfficePL. Zestaw szablonów magazynowych. Instrukcja obsługi

OpenOfficePL. Zestaw szablonów magazynowych. Instrukcja obsługi OpenOfficePL Zestaw szablonów magazynowych Instrukcja obsługi Spis treści : 1. Informacje ogólne 2. Instalacja zestawu a) konfiguracja połączenia z bazą danych b) import danych z poprzedniej wersji faktur

Bardziej szczegółowo

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf Materiały poprawione Rozwiązanie zadania w NetBeans IDE 7.4: Jarosław Ksybek, Adam Miazio Celem ćwiczenia jest przygotowanie prostej aplikacji

Bardziej szczegółowo

SYSTEM INFORMATYCZNY KS-SEW

SYSTEM INFORMATYCZNY KS-SEW DOKUMENTACJA TECHNICZNA KAMSOFT S.A. 40-235 Katowice ul. 1-Maja 133 Tel. (032) 2090705, Fax. (032) 2090715 http:www.kamsoft.pl, e-mail: 5420@kamsoft.pl SYSTEM INFORMATYCZNY NR KATALOGOWY 2334PI06.00 WYDANIE

Bardziej szczegółowo