Найти в Дзене

Помощь начинающим ИСПЭШНИКАМ

Добрый день, это канал Сергея Березина. Сегодня мы будем объяснять вам код для вижуал студио 1488
ДЛЯ СВЯЗИ с нами: Форум - https://pomogite.rolebb.ru/
ВК - https://vk.com/club226007094
Яндекс.Дзен - https://vk.com/club226007094 drawio (er-диаграмма) блок схема
Для начала работы с программой Visual Studio, нам необходимо предпринять следующие шаги: 1) установить пакет MySqlData 2)Прописать строку подключения с указанием пароля и логина базы данных (localhost root), проверить код нашего подключения,
потому что могут возникнуть ошибки (Например, нужно удостовериться что у вас есть строка в общем списке using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
Именно! Теперь определимся с темой нашего приложения. Их много, на выбор, например Ветеринарная клиника, Продажа нижнего белья, Молочные продукт

Добрый день, это канал Сергея Березина. Сегодня мы будем объяснять вам код для вижуал студио 1488
ДЛЯ СВЯЗИ с нами: Форум -
https://pomogite.rolebb.ru/
ВК -
https://vk.com/club226007094
Яндекс.Дзен -
https://vk.com/club226007094

drawio (er-диаграмма)

-2

блок схема


Для начала работы с программой Visual Studio, нам необходимо предпринять следующие шаги: 1) установить пакет MySqlData 2)Прописать строку подключения с указанием пароля и логина базы данных (localhost root), проверить код нашего подключения,
потому что могут возникнуть ошибки (Например, нужно удостовериться что у вас есть строка в общем списке using MySql.Data.MySqlClient;

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
Именно! Теперь определимся с темой нашего приложения. Их много, на выбор, например Ветеринарная клиника, Продажа нижнего белья, Молочные продукты и прочее.
В нашем приложении должны быть реализованы: Простая авторизация, форма просмотра всех существующих заявок, создание и редактирование))


Теперь перейдем к коду: Напишем простой код подключения к нашей бд:
db.cs

internal class DB
{
MySqlConnection connection = new MySqlConnection("server=localhost;port = 3306; username = root; password = root; database = *ваша бд*");

public void openConnnection()
{
if (connection.State == System.Data.ConnectionState.Closed)
connection.Open();
}

public void closeConnnection()
{
if (connection.State == System.Data.ConnectionState.Open)
connection.Close();
}

public MySqlConnection getConnection()
{
return connection;
}
}
Продолжение:
3. Создаем форму авторизации, в ней 2 текстбокса, 1 кнопка вход

namespace TEST
{
public partial class LoginForm : Form
{
public LoginForm()
{
InitializeComponent();

this.PassField.AutoSize = true;
this.PassField.Size = new Size(this.PassField.Size.Width, 50);
}

private void button1_Click(object sender, EventArgs e)
{
String loginUser = LoginField.Text;
String passUser = PassField.Text;

if (string.IsNullOrEmpty(loginUser) || string.IsNullOrEmpty(passUser))
{
MessageBox.Show("Введите логин и пароль");
return;
}

DB db = new DB();

DataTable table = new DataTable();

MySqlDataAdapter adapter = new MySqlDataAdapter();

MySqlCommand command = new MySqlCommand("SELECT * FROM users WHERE login = @ul AND pass = @up", db.getConnection());
command.Parameters.Add("@ul", MySqlDbType.VarChar).Value = loginUser;
command.Parameters.Add("@up", MySqlDbType.VarChar).Value = passUser;

adapter.SelectCommand = command;
adapter.Fill(table);

if (table.Rows.Count > 0)
{
this.Hide();
MainForm mainForm = new MainForm();
mainForm.Show();
}
else
{
MessageBox.Show("Неправильный логин или пароль");
}
}
}
РЕГИСТРАЦИЯ:
public partial class RegisterForm : Form
{
public RegisterForm()
{
InitializeComponent();
userFioField.Text = "Введите имя";
userFioField.ForeColor = Color.Gray;

}

private void userNameField_Enter(object sender, EventArgs e)
{
if (userFioField.Text == "Введите имя")
{
userFioField.Text = "";
userFioField.ForeColor = Color.Black;
}
}

private void userNameField_Leave(object sender, EventArgs e)
{
if (userFioField.Text == "")
{
userFioField.Text = "Введите имя";
userFioField.ForeColor = Color.Gray;
}
}

private void Register_Click(object sender, EventArgs e)
{
if (userFioField.Text == "Введите имя" userFioField.Text == "")
{
MessageBox.Show("Введите имя");
return;
}

if (UserPhoneField.Text == "Введите Фамилию" UserPhoneField.Text == "")
{
MessageBox.Show("Введите фамилию");
return;
}

if (passwordField.Text == "Введите логин" passwordField.Text == "")
{
MessageBox.Show("Введите логин");
return;
}

if (type.Text == "Введите пароль" type.Text == "")
{
MessageBox.Show("Введите пароль");
return;
}

if (isUserExist())
{
return;
}

DB db = new DB();
MySqlCommand command = new MySqlCommand("INSERT INTO users (fio, phone, login, password, type) VALUES (@fio, @phone, @login, @password, @type);", db.getConnection());

command.Parameters.Add("@fio", MySqlDbType.VarChar).Value = userFioField.Text;
command.Parameters.Add("@phone", MySqlDbType.VarChar).Value = UserPhoneField.Text;
command.Parameters.Add("@login", MySqlDbType.VarChar).Value = loginUsers.Text;
command.Parameters.Add("@password", MySqlDbType.VarChar).Value = passwordField.Text;
command.Parameters.Add("@type", MySqlDbType.VarChar).Value = type.Text;


db.openConnnection();

if (command.ExecuteNonQuery() == 1)
MessageBox.Show("Аккаунт был создан");
else
MessageBox.Show("Аккаунт не был создан");

db.closeConnnection();
}

public Boolean isUserExist()
{
DB db = new DB();

DataTable table = new DataTable();

MySqlDataAdapter adapter = new MySqlDataAdapter();

MySqlCommand command = new MySqlCommand("SELECT * FROM users WHERE login = @ul", db.getConnection());
command.Parameters.Add("@ul", MySqlDbType.VarChar).Value = passwordField.Text;

adapter.SelectCommand = command;
adapter.Fill(table);

if (table.Rows.Count > 0)
{
MessageBox.Show("Такой логин уже есть, введите другой");
return true;
}

return false;
}

private void RegisterLabel_Click(object sender, EventArgs e)
{
this.Hide();
LoginForm loginform = new LoginForm();
loginform.ShowDialog();
}
}