Advertisement
andrzejiwaniuk

Program do wyświetlania danych z bazy danych MySQL

Jul 19th, 2013
5,509
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.24 KB | None | 0 0
  1. <Window x:Class="bazaDanych.MainWindow"
  2.         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3.         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4.         Title="Logowanie do bazy danych" Height="350" Width="525">
  5.     <Grid Background="#FFCCD87E">
  6.         <DataGrid x:Name="dataGrid1" HorizontalAlignment="Left" Margin="40,177,0,0" VerticalAlignment="Top" Width="438" ItemsSource="{Binding }" Height="118" Background="#FFFCFCFC" OpacityMask="White" GridLinesVisibility="Horizontal" HorizontalGridLinesBrush="#FF20AFF0" VerticalGridLinesBrush="#FFCDF7F7" BorderBrush="#FFF3F3F3"/>
  7.         <Button x:Name="logowanieBtn" Content="Zaloguj do Serwera MySQL" HorizontalAlignment="Left" Margin="165,139,0,0" VerticalAlignment="Top" Width="211" Click="logowanieBtn_Click" Background="#FF6ED7EA"/>
  8.         <Label Content="Nazwa serwera" HorizontalAlignment="Left" Margin="40,7,0,0" VerticalAlignment="Top"/>
  9.         <TextBox x:Name="nazwaServeratb" HorizontalAlignment="Left" Height="23" Margin="165,7,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="129" Background="#FFEB5757"/>
  10.         <TextBox x:Name="nazwaServeratb1" HorizontalAlignment="Left" Height="23" Margin="165,7,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="129" Background="#FF8CEB57"/>
  11.         <TextBox x:Name="nazwaBazyDanychtb" HorizontalAlignment="Left" Height="23" Margin="165,35,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="129" Background="#FF8CEB57"/>
  12.         <TextBox x:Name="uzytkowniktb" HorizontalAlignment="Left" Height="23" Margin="165,63,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="129" Background="#FF8CEB57"/>
  13.         <Label Content="Nazwa użytkownika" HorizontalAlignment="Left" Margin="40,64,0,0" VerticalAlignment="Top"/>
  14.         <Label Content="Hasło użytkownika" HorizontalAlignment="Left" Margin="40,90,0,0" VerticalAlignment="Top"/>
  15.         <Label Content="Baza danych" HorizontalAlignment="Left" Margin="40,38,0,0" VerticalAlignment="Top"/>
  16.         <PasswordBox x:Name="haslotb" HorizontalAlignment="Left" Margin="165,91,0,0" VerticalAlignment="Top" Width="129" Background="#FF8CEB57"/>
  17.         <Image HorizontalAlignment="Left" Height="100" Margin="390,22,0,0" VerticalAlignment="Top" Width="100" Source="obrazki/computer-hacked.jpg"/>
  18.  
  19.     </Grid>
  20. </Window>
  21.  
  22.  
  23. using System;
  24. using System.Collections.Generic;
  25. using System.Linq;
  26. using System.Text;
  27. using System.Threading.Tasks;
  28. using System.Windows;
  29. using System.Windows.Controls;
  30. using System.Windows.Data;
  31. using System.Windows.Documents;
  32. using System.Windows.Input;
  33. using System.Windows.Media;
  34. using System.Windows.Media.Imaging;
  35. using System.Windows.Navigation;
  36. using System.Windows.Shapes;
  37. using MySql.Data.MySqlClient;
  38. using System.Data;
  39.  
  40. namespace bazaDanych
  41. {
  42.     /// <summary>
  43.     /// 1. Aplikacja nazwiązuje połączenie z baza danych MySQL
  44.     /// 2. Wyświetla informacje jeżeli wystąpi błąd w trakcie połączenia
  45.     /// 3. Dane zostaną wyświetlone w kontrolce DATAGRID
  46.     /// 4. Po pomyślnym wyświetleniu danych połączenie z bazą danych jest zamykane
  47.     ///    w celu oszczędności pamięci serwera
  48.     /// </summary>
  49.     public partial class MainWindow : Window
  50.     {
  51.         public MainWindow()
  52.         {
  53.             InitializeComponent();
  54.         }
  55.  
  56.         private void logowanieBtn_Click(object sender, RoutedEventArgs e)
  57.         {
  58.             pobierzDane();
  59.         }
  60.  
  61.         //Metoda nawiązuję połączenie z bazą danych MySQL
  62.         //jeżeli wystąpi błąd logowania pokaże się stosowany komunikat
  63.         public void pobierzDane()
  64.         {
  65.             //pobierz dane logowania z formularza i przypisz
  66.             string mojePolaczenie =
  67.             "SERVER=" + nazwaServeratb.Text + ";" +
  68.             "DATABASE=" + nazwaBazyDanychtb.Text + ";" +
  69.             "UID=" + uzytkowniktb.Text + ";" +
  70.             "PASSWORD=" + haslotb.Password + ";";
  71.  
  72.             //wykonaj polecenie języka SQL
  73.             string sql = "SELECT * FROM Pracownicy";
  74.  
  75.             MySqlConnection polaczenie = new MySqlConnection(mojePolaczenie);
  76.                 //blok try-catch przechwytuje błędy
  77.                 try
  78.                 {
  79.                     //otwórz połączenie z bazą danych
  80.                     polaczenie.Open();
  81.                     //wykonaj polecenie języka SQL na danych połączeniu
  82.                     using (MySqlCommand cmdSel = new MySqlCommand(sql, polaczenie))
  83.                     {
  84.                         DataTable dt = new DataTable();
  85.                         //Pobierz dane i zapisz w strukturze DataTable
  86.                         MySqlDataAdapter da = new MySqlDataAdapter(cmdSel);
  87.                         da.Fill(dt);
  88.                         //wpisz dane do kontrolki DATAGRID
  89.                         dataGrid1.ItemsSource = dt.DefaultView;
  90.                     }
  91.                    
  92.                 }
  93.                 //Jeżeli wystąpi wyjątek wyrzuć go i pokaż informacje
  94.                 catch (MySql.Data.MySqlClient.MySqlException ex)
  95.                 {
  96.                     MessageBox.Show("Błąd logowania do bazy danych MySQL","Błąd");  
  97.                 }
  98.                 //Zamknij połączenie po wyświetleniu danych
  99.                 polaczenie.Close();
  100.            
  101.         }
  102.  
  103.     }
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement