public PacjenciOsobowe(MySqlConnection conn) //Przeciążenie metody PacjenciOsobowe o obiekt połączenia conn { InitializeComponent(); this.conn = conn; //Przekazanie połączenia conn AppWindow = this; wypelnijDg(conn); if (dgPacjenciOsobowe.HasItems) { dgPacjenciOsobowe.SelectedItem = dgPacjenciOsobowe.Items[0]; } }
private void BtnZaloguj_Click(object sender, RoutedEventArgs e) { //Zczytywanie data z pliku DateTime dataTeraz = DateTime.Now; //pobieram obecną datę w celu porównania z tą w pliku string dataWpliku; //kontener na datę z dokumentu System.IO.StreamReader dataTXT = new System.IO.StreamReader("DataKopii.txt"); //Wskazanie pliku dla StreamReadera MySqlConnectionStringBuilder connString = new MySqlConnectionStringBuilder(); //Obiekt tworzący łańcuch połączeniowy z bazą connString.Server = "DESKTOP-OBR3EBS" /*"LAPTOP-EEGICNKI"*/; //Przekazanie nazwy serwera, connString.Database = "KartotekaAdamPosluszny"; //nazwy bazy danych, string login = txtLogin.Text; if (login.EndsWith("1")) { string[] loginStr = login.Split(' '); connString.UserID = loginStr[0]; blokuj = 1; } else { connString.UserID = login; } connString.Password = pswHaslo.Password; //oraz hasła do łańcucha połączeniowego conn = new MySqlConnection(connString.ConnectionString); //Przekazanie łańcucha do obiektu conn try //Próba nawiązania połączenia z bazą { dataWpliku = dataTXT.ReadLine(); //odczytanie 1 linii z pliku DataKopii.txt dataTXT.Close(); //zamknięcie pliku DateTime dataZpliku = Convert.ToDateTime(dataWpliku); //konwertuję datę z pliku na typ DateTime w celu porównania TimeSpan roznicaDat = dataTeraz - dataZpliku; //tworze TimeSpana żeby zapisać różnicę między datami int dni = roznicaDat.Days; //wyciągam całkowitą liczbę dni pomiędzy Datami conn.Open(); //Otwarcie połączenia z bazą if (dni > 30) //jeżeli od ostatniego backupu minęło więcej niż 30 dni czyli miesiąc { //Tu będzie kod robiący eksport bazy string lokalizacjaKopii = /*NIE ZAPOMNIJ ZMIENIĆ ŚCIEŻKI*/ @"C:\Kartoteka\KopieBazy\" + dataTeraz.ToShortDateString() + "kartoteka.sql"; //ścieżka do pliku po eksporcie using (MySqlCommand polecenie = new MySqlCommand()) { using (MySqlBackup backup = new MySqlBackup(polecenie)) //Był potrzebny pakiet MySqlBackup.Net { polecenie.Connection = conn; backup.ExportToFile(lokalizacjaKopii); } } //i nadpisujący plik DataKopii.txt datą utworzenia System.IO.StreamWriter dataTXTnadpisz = new System.IO.StreamWriter("DataKopii.txt", false); //StreamWriter z parametrem false nadpisuje cały plik dataTXTnadpisz.Write(dataTeraz.ToString()); //Zapisuję nową datę w pliku dataTXTnadpisz.Close(); //zamykam plik MessageBox.Show("Wykonano kopię bazy danych!"); } PacjenciOsobowe pacjenciOsobowe = new PacjenciOsobowe(conn); //Utworzenie nowe obiektu klasy PacjenciOsobowe i przekazanie do niego połączenia conn pacjenciOsobowe.Show(); //Wywołanie metody Show dla obiektu pacjenciOsobowe this.Close(); //Zamknięcie okna logowania metodą Close } catch (MySqlException ex) //Przechwycenie błędu połączenia z bazą { MessageBox.Show(ex.Message); //Wyświetlenie treści błędu } }