search check home clock-o tag tags chevron-left chevron-right chevron-up chevron-down twitter facebook github rss comment comments terminal code

[C#.NET][SQL] Formularz logowania w C#.NET

W dzisiejszym artykule przedstawię sposób na prosty formularz logowania w języku C#.NET i SQL. Język C#.NET został stworzony przez Microsoft i jest jedną z alternatyw dla PHP. Daje on naprawdę duże możliwości, a dorzucając do tego technologię SilverLight, to można stworzyć naprawdę efektowne strony, które tez będą efektywne w obsłudze.

Kod C# do obsługi formularza logowania wygląda następująco:

private bool Porownaj(string string1, string string2)
{
	return String.Compare(string1, string2, true, System.Globalization.CultureInfo.InvariantCulture) == 0 ? true : false;
}
private void button1_Click(object sender, System.EventArgs e)
{
	try
	{
		SqlConnection UGIcon = new SqlConnection();
		UGIcon.ConnectionString = "Server=.SQLEXPRESS; Database=Sample; User Id=user; password=haslo";
		UGIcon.Open();
		SqlCommand cmd = new SqlCommand("SELECT ISNULL(stUsername, '') AS stUsername, ISNULL(stPassword,'') AS stPassword, ISNULL(stRole,'') AS stRole FROM LoginDetails WHERE stUsername='" + textBoxUsername.Text + "' and stPassword='" + textBoxPassword.Text + "'", UGIcon);
		SqlDataReader dr = cmd.ExecuteReader();
		string userText = textBoxUsername.Text;
		string passText = textBoxPassword.Text;
		string stRole = "admin";
		while (dr.Read())
		{
			if (this.Porownaj(dr["stUsername"].ToString(), userText) && this.Porownaj(dr["stPassword"].ToString(), passText) && this.Porownaj(dr["stRole"].ToString(), stRole))
			{
				MessageBox.Show("OK");
			}
			else
			{
				MessageBox.Show("Błąd");
			}
		}
		dr.Close();
		UGIcon.Close();
	}
	catch(Exception ex)
	{
		MessageBox.Show(ex.Message);
	}
}

To jest kod mechanizmu obsługującego stronę z formatkami logowania, gdzie przycisk wysyłania jest nazwany standardowo jako button1, pole gdzie należy wpisać nazwę użytkownika jako textBoxUsername, a pole do wpisania hasła jako textBoxPassword. Należy pamiętać, by ustanowić połączenie z bazą danych zastępując: Database=Sample; User Id=user; password=haslo - swoimi danymi do bazy.

Niestety nie posiadam serwera z obsługą ASP.NET i SQL, więc obejdzie się bez dema. Ten przykład można sprawdzić u siebie w domu na wirtualnym serwerze.