Багато додатків вимагають авторизації для повноцінного використання. Сьогодні ми напишемо просту форму авторизації 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.
Створення нового проекту в Visual Studio
Після цього з'явиться вікно New Project:
Вікно New Project в інтерфейсі Visual Studio
В поле Name потрібно вписати назву вашого проекту, в поле Location- вказати потрібну директорію, в Solution name - ввести назву рішення. Заповнили дані - натискаємо OK.
Головний клас нового проекту в Visual Studio
Крок 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 .
0 комментариев
Добавить комментарий