5 шагов для создания простой формы входа на C#
Инструкция из пяти шагов о том, как создать в Visual Studio форму авторизации для Windows-приложений на языке C# с хранением логинов и паролей в MySQL.

Многие приложения требуют авторизации для полноценного использования. Сегодня мы напишем простую форму авторизации Windows-приложений на языке C#.
Шаг 1. Создание базы
Первым делом создадим новую базу данных test
для хранения тестовой информации. Добавьте таблицу user
со следующими полями:
id
(INT) c атрибутомAUTO_INCREMENT
;name
(VARCHAR(100));title
(VARCHAR(100));address
(VARCHAR(100)).

user
в базе данных test
Шаг 2. Создание проекта
Создайте проект для нового приложения. В Visual Studio для этого нужно зайти в меню File
> New
> Project
.

После этого появится окно New Project:
В поле Name
нужно вписать название вашего проекта, в поле Location
– указать нужную директорию, в Solution name
– ввести название решения. Заполнили данные – нажимаем OK
.
Шаг 3. Создание интерфейса
Создайте представление будущей формы авторизации, как показано на рисунке ниже. Добавьте два поля (username
и password
) и кнопку для входа.
Шаг 4. Настройка соединения с базой
Создайте класс connection
для настройки соединения с базой. Пример реализации представлен в листинге ниже:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using MySql.Data.MySqlClient; using System.Windows.Forms; using System.Data;namespace Connection_DB { class connection { MySql.Data.MySqlClient.MySqlConnection conn; string myConnectionString; static string host = "localhost"; static string database = "test"; static string userDB = "ecco"; static string password = "password"; public static string strProvider = "server=" + host + ";Database=" + database + ";User ID=" + userDB + ";Password=" + password; public bool Open() { try { strProvider = "server=" + host + ";Database=" + database + ";User ID=" + userDB + ";Password=" + password; conn = new MySqlConnection(strProvider); conn.Open(); return true; } catch (Exception er) { MessageBox.Show("Connection Error ! " + er.Message, "Information"); } return false; } public void Close() { conn.Close(); conn.Dispose(); } public DataSet ExecuteDataSet(string sql) { try { DataSet ds = new DataSet(); MySqlDataAdapter da = new MySqlDataAdapter(sql, conn); da.Fill(ds, "result"); return ds; } catch (Exception ex) { MessageBox.Show(ex.Message); } return null; } public MySqlDataReader ExecuteReader(string sql) { try { MySqlDataReader reader; MySqlCommand cmd = new MySqlCommand(sql, conn); reader = cmd.ExecuteReader(); return reader; } catch (Exception ex) { MessageBox.Show(ex.Message); } return null; } public int ExecuteNonQuery(string sql) { try { int affected; MySqlTransaction mytransaction = conn.BeginTransaction(); MySqlCommand cmd = conn.CreateCommand(); cmd.CommandText = sql; affected = cmd.ExecuteNonQuery(); mytransaction.Commit(); return affected; } catch (Exception ex) { MessageBox.Show(ex.Message); } return -1; } } }
Шаг 5. Код авторизации
Наконец, вернитесь к форме и добавьте следующий код:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using MySql.Data.MySqlClient;namespace Connection_DB { public partial class Form1 : Form { connection con = new connection(); string id, username, password, firstname, lastname, address; public Form1() { InitializeComponent(); } private void btnLogin_Click(object sender, EventArgs e) { try { if (txtUsername.Text != "" && txtPassword.Text != "") { con.Open(); string query = "select id,username,password,firstname,lastname,address from user WHERE username ='" + txtUsername.Text + "' AND password ='" + txtPassword.Text + "'"; MySqlDataReader row; row = con.ExecuteReader(query); if (row.HasRows) { while (row.Read()) { id = row["id"].ToString(); username = row["username"].ToString(); password = row["password"].ToString(); firstname = row["firstname"].ToString(); lastname = row["lastname"].ToString(); address = row["address"].ToString(); } MessageBox.Show("Data found your name is " + firstname + " " + lastname + " " + " and your address at " + address); } else { MessageBox.Show("Data not found", "Information"); } } else { MessageBox.Show("Username or Password is empty", "Information"); } } catch { MessageBox.Show("Connection Error", "Information"); } } } }
Результат
Нажмите F5
, чтобы запустить программу. Если соединение с базой данных успешно установится, вы увидите только что созданную форму.
Исходный код этой простой формы авторизации вы найдете на Github.
У нас есть много полезных материалов по C# для начинающих:
- Лучшие актуальные шпаргалки по C# на все случаи жизни
- Видеокурс по C# с нуля: от основ до полноценного приложения
- Самый понятный видеокурс по C# для новичков