DotNet lokalne, Net lokalne


Aplikacje lokalne w .Net - ćwiczenia

Zadanie 1 - prosty DataGrid

  1. Otwórz SQL Server Management Studio i uruchom skrypt DemobldMSSQL.sql w swojej bazie danych.

  2. Uruchom Visual Studio 2005 i utwórz nowy projekt (Visual Basic / Windows Application).

  3. Używając Management Studio utwórz procedurę składowaną (stored procedure) zwracającą dane z tabeli Emp, np.:

    CREATE PROCEDURE emp_sel AS
    BEGIN
    SELECT empno, ename, sal, deptno FROM emp ORDER BY ename
    END

  4. Dodaj do projektu DataSet i umieść w nim TableAdapter. W kreatorze wybierz New Connection i określ parametry połączenia z serwerem SQL. Użyj opcji Use existing stored procedures i wskaż utworzoną procedurę.

  5. Umieść na formularzu DataGridView i wskaż jako źródło danych tabelę z utworzonego przed chwilą DataSet.

  6. Przejdź do kodu formularza. Sprawdź, czy została dodana w Form_load linia kodu typu:

    Me.EMPTableAdapter.Fill(Me.EMPDataSet1.Emp)

    Przetestuj aplikację.

  7. Napisz procedury składowane wykonujące pozostałe 3 operacje na tabeli Emp (INSERT, UPDATE, DELETE), np.:

    CREATE PROCEDURE emp_ins
    @empno INT,
    @ename VARCHAR(10),
    @sal INT,
    @deptno INT
    AS BEGIN
    INSERT INTO emp (empno, ename, sal, deptno)
    VALUES (@empno, @ename, @sal, @deptno)
    END

  8. Otwórz DataSet, wybierz opcję Configure i podaj nazwy utworzonych procedur. Sprawdź i ewentualnie skoryguj mapowanie parametrów na kolumny tabeli.

  9. Dodaj przycisk (button) zapisujący zmiany dokonane w DataGridView. Do kodu procedury Nazwa_przycisku_Click dodaj linię typu:

    Me.EMPTableAdapter.Update(Me.EMPDataSet1.Emp)

    Uruchom aplikację, wykonaj kilka modyfikacji danych w tabeli. Sprawdź przy pomocy Management Studio, czy zmiany zostały wprowadzone.

  10. Napisz procedurę zwracającą działy z tabeli Dept. Użyjemy jej, aby edytując dane poprzez DataGridView, możliwy był wybór działu z listy. Procedura powinna zwracać numer działu (deptno) oraz nazwę (dname).

  11. Utwórz nowy TableAdapter na bazie napisanej przed chwilą procedury.

  12. Wejdź do okna edycji kolumn DataGridView i zmień typ kolumny z numerem działu na ComboBox. Wskaż jako źródło danych utworzony przed chwilą TableAdapter. Nie zapomnij ustawić właściwości DisplayMember (wybierz dname) oraz ValueMember (wybierz deptno). Sprawdź, czy została dodana do zdarzenia Form_load linia kodu podobna do tej z punktu 6. Przetestuj aplikację.

Zadanie 2 - połączenie z bazą danych z poziomu kodu VB

  1. Utwórz nowy formularz. Umieść na nim pola tekstowe, w które użytkownik będzie wprowadzał wartości empno, ename, sal. Dodaj ComboBox umożliwiający wybór działu i powiąż go z danymi analogicznie do zadania 1.

  2. Dodaj przycisk zapisujący dane (dodający nowy rekord). Przykład kodu wywołującego procedurę składowaną na serwerze SQL:

    Imports System.Data.SqlClient

    Public Class frmEmpDept

    Private con As SqlConnection

    Private Sub frmEmpDept_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    con = New SqlConnection()
    con.ConnectionString = My.MySettings.Default.EmpDeptConnectionString
    con.Open()
    End Sub

    Private Sub btnZapisz_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnZapisz.Click
    Dim cmd As SqlCommand
    cmd = New SqlCommand()
    cmd.CommandTimeout = 60
    cmd.CommandType = CommandType.StoredProcedure
    cmd.CommandText = "emp_ins"
    cmd.Connection = con
    cmd.Parameters.Add("@ename”, SqlDbType.VarChar)
    cmd.Parameters.Item("@ename").Value = txtNazwa.Text
    cmd.Parameters.Add("@deptno", SqlDbType.Int)
    cmd.Parameters.Item("@deptno").Value = cmbPanstwo.SelectedValue
    Try
    cmd.ExecuteNonQuery()
    Catch ex As Exception
    MsgBox("Wystąpił błąd!", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Błąd!")
    End Try
    con.Close()
    End Sub

  3. Przetestuj aplikację wprowadzając dane i sprawdzając wynik w Management Studio.

Zadanie 3 - DataReader

  1. Utwórz nowy formularz z jednym przyciskiem. Przycisk będzie wywoływał kod odczytujący po kolei rekordy zwrócone przez procedurę składowaną wykonującą instrukcję SELECT (zadanie 1, punkt 3). Skopiuj kod z zadania 2 zmieniając linię:

    cmd.ExecuteNonQuery()
    na:
    dim dr As SqlDataReader
    dr = cmd.ExecuteReader(CommandBehavior.Default)
    Do While dr.Read()
    MsgBox(dr(„ename”))
    Loop

  2. Przetestuj działanie formularza.

Zadanie 4 - Tworzenie interfejsu MDI

  1. Dodaj do swojego projektu MDI Parent Form. Usuń automatycznie wygenerowany kod.

  2. Zmień menu rozwijane tak, aby znalazły się w nim wyłącznie pozycje otwierające utworzone dotychczas formularze. Przykładowy kod:

    frmZad1.MdiParent = Me
    frmZad1.Show()

  3. Na formularzu z zadania 1 ustaw właściwości kontrolek Dock i Anchor tak, aby ekran wyglądał poprawnie niezależnie od rozmiaru oraz maksymalizacji.

Zadanie 5 - Formularz z podformularzem przy użyciu DataGrid

  1. Napisz nową procedurę składowaną, która będzie zwracała pracowników danego działu z tabeli Emp. Procedura powinna posiadać parametr @deptno.

  2. Utwórz TableAdapter dla napisanej przed chwilą procedury. Sprawdź, czy posiadasz procedurę i TableAdapter wybierające dane z tabeli Dept i w razie potrzeby utwórz je.

  3. Utwórz nowy formularz i umieść na nim dwie kontrolki DataGridView. Pierwsza z nich będzie wyświetlała działy, a druga pracowników z wybranego działu. Ustaw odpowiednie źródła danych.

  4. Ustaw właściwość SelectionMode na FullRowSelect dla pierwszego DataGridView (tego z działami).

  5. Doprowadź do sytuacji, w której metoda Fill dla tabeli z działami będzie uruchamiana w zdarzeniu Form_load, a dla tabeli z pracownikami, przy zdarzeniu SelectionChanged kontrolki DataGridView z działami. Metoda Fill będzie posiadać dodatkowy parametr deptno. na który trzeba przypisać wybrany dział. Przykład:

    Me.Emp_selTableAdapter.Fill(Me.DataSet1.emp_sel, grdDept.SelectedRows(0).Cells("DeptnoDataGridViewTextBoxColumn").Value)

Zadanie 6 - Ekran oparty na drzewku TreeView

  1. Utwórz nowy formularz i umieść na nim SplitContainer, czyli kontrolkę dzielącą ekran na dwie części.

  2. Na lewym panelu umieść kontrolkę TreeView, a na prawym DataGridView. Ustaw właściwość Dock obu kontrolek na Fill.

  3. Do drzewka dodaj „korzeń” wybierając opcję EditNodes oraz edytując właściwości Name (ustaw „D”) i Text (wprowadź „Działy”).

  4. Do Form_load formularza dodaj kod pobierający kolejne działy i wstawiający pozycje do drzewa, np:

    dr = cmd.ExecuteReader(CommandBehavior.Default)
    Do While dr.Read()
    trvDept.Nodes(„D”).Nodes.Add(dr(„deptno”), dr(„dname”))
    Loop

    Oczywiście wcześniej należy ustanowić połączenie i wywołać procedurę w sposób analogiczny do zadania 2.

  5. Wskaż jako źródło danych dla DataGridView TableAdapter oparty na procedurze wybierającej pracowników danego działu (zadanie 5, punkty 1 i 2).

  6. Oprogramuj zdarzenie AfterSelect drzewa. Umieść tam wywołanie metody Fill z wartością parametru deptno pobraną z drzewa, np.:

    If trvDept.SelectedNode.Name <> „D” Then
    Me.Emp_selTableAdapter.Fill(Me.DataSet1.emp_sel, trvDept.SelectedNode.Name)
    End If

Zadanie 7 - Tworzenie w pełni funkcjonalnego ekranu do edycji danych

  1. Utwórz formularz umożliwiający wykonywanie dodawania, edycji i usuwania rekordów według poniższego wzoru:

0x08 graphic



Wyszukiwarka

Podobne podstrony:
Społecznośc lokalna
PS spolecznosc lokalna 3
Rodzina w systemie profilaktyki na szczeblu lokalnym
Srodowisko lokalne
Funkcje organizacji i stowarzyszeń społecznych w środowisku lokalnym
Organizowanie środowiska lokalnego na rzecz działalności opiekuńczo wychowawczej i pracy socjalnej p
struktura układu lokalnego
Leksykon podatków i opłat lokalnych 517 pytań i odpowiedzi
03 lokalne strategie zapewnieni Nieznany (2)
Instytucjonalne uwarunkowania rozwoju lokalnego
ekstrema lokalne
mysl lokalnie
Zmiana ustawy o podatkach i opłatach lokalnych, Studia, Samorząd terytorialny, podatki lokalne
9. REOGANIZACJA ŚRODOWISK LOKALNYCH, STUDIA, PSWzR, ZAGADNIENIA, SPECJALIZACYJNE
pomocna tabelka, Politologia UMCS (2005 - 2010) specjalność samorząd i polityka lokalna, Międzynarod
straty lokalne, STUDIA BUDOWNICTWO WBLIW, hydraulika i hydrologia
Lokalne i globalne sieci komputerowe, Sieci komputerowe administracja
Protokół z wizji lokalnej, Dokumenty- prawo i administracja

więcej podobnych podstron