• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wyświetlanie informacji o uzytkowniku po zalogowaniu C#

Object Storage Arubacloud
0 głosów
187 wizyt
pytanie zadane 7 maja 2020 w C# przez Avalansz Użytkownik (580 p.)

Dzien dobry. Tworze program logowania uzytkownikow z bazy danych. Aktualnie uzytkownik moze sie zalogowac kodem lub tez loginem i haslem. Logowanie dziala poprawnie lecz nie wiem jak wyswietlic w innym oknie(frmMain) informacje o zalogowanym uzytkowniku(imie, nazwisko, wynagrodzenie). Mam rowniez problem z zabezpieczeniem danych logowania. Podobno robi sie to poprzez @.

        public frmLogin()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\pwasi\Documents\LoginDB.mdf;Integrated Security=True;Connect Timeout=30");
            string query = "Select * from tbl_Login Where login = '" + textBox1.Text.Trim() + "' and haslo = '" + textBox2.Text.Trim() + "'";
            SqlDataAdapter sda = new SqlDataAdapter(query, con);
            DataTable dt = new DataTable();
            sda.Fill(dt);

            if (dt.Rows.Count == 1)
            {
                frmMain objFrmMain = new frmMain();
                this.Hide();
                objFrmMain.Show();
            }
            else
            {
                if (textBox1.TextLength == 0)
                {
                    MessageBox.Show("Nie podano loginu");

                }
                else if (textBox2.TextLength == 0)
                {
                    MessageBox.Show("Nie podano hasła");
                }
                else
                {
                    MessageBox.Show("Niepoprawny login lub hasło");
                }
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\pwasi\Documents\LoginDB.mdf;Integrated Security=True;Connect Timeout=30");
            string code = "Select * from tbl_Login Where kod = '" + textBox3.Text.Trim() + "'";
            SqlDataAdapter sda = new SqlDataAdapter(code, con);
            DataTable dt = new DataTable();
            sda.Fill(dt);
            if (dt.Rows.Count == 1)
            {
                frmMain objFrmMain = new frmMain();
                this.Hide();
                objFrmMain.Show();
            }
            else
            {
                if (textBox3.TextLength == 0)
                {
                    MessageBox.Show("Nie podano kodu");
                }
                else
                {
                    MessageBox.Show("Niepoprawny kod");
                }
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            textBox3.Clear();
        }

 

komentarz 7 maja 2020 przez Adrian1999 Nałogowiec (34,570 p.)
Aktualnie odpisuje z telefonu, więc mówię ze wstępnej weryfikacji. Jeżeli chodzi o bezpieczeństwo, to w pierwszej kolejności linq to database w wyszukiwarce z hasłem "parsing". Co do wyświetlania logowania nie wypowiem się bo w wpf tak nie działam
komentarz 7 maja 2020 przez piotrsz109 Stary wyjadacz (13,730 p.)

@Avalansz, Aby odczytać dane użytkownika, polecam przeczytać tą stronę w dokumentacji:
https://docs.microsoft.com/pl-pl/dotnet/api/system.data.datatable.rows?view=netframework-4.7.2#System_Data_DataTable_Rows

Tego typu łączenie się z bazą danych jest rozwiązaniem niebezpiecznym. W tym przypadku powinieneś skorzystać z Entity Framework i tym samym DataBase First Approach.

Aby przekazać dane do innego okna, używając DataContext, choć lepszym byłoby wykorzystanie wzorca projektowego MVVM, który, moim zdaniem, pasuje całkiem dobrze do aplikacji WPF.
https://en.wikipedia.org/wiki/Model–view–viewmodel

W przypadku, jeśli to WinForms, to sugeruję przenieść się na WPF, jeśli jest taka możliwość.

Pozdrawiam

 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
0 odpowiedzi 578 wizyt
pytanie zadane 24 marca 2020 w C# przez seba Dyskutant (8,900 p.)
0 głosów
0 odpowiedzi 107 wizyt
pytanie zadane 28 maja 2016 w C# przez Thamed Obywatel (1,080 p.)
0 głosów
0 odpowiedzi 63 wizyt
pytanie zadane 23 kwietnia 2019 w C# przez Michał_Warmuz Mądrala (5,830 p.)

92,583 zapytań

141,434 odpowiedzi

319,668 komentarzy

61,966 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...