Программирование, ошибка программы Visual studio C# Windows Form

Помогите решить проблему на C# Windows Form.Я сделал окно входа пользователя не работает ошибок в коденет вроде. Вот видео покоторому делал ( у него такая же ошибка, но он ее исправил, как-то.
Код программы:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace UchetAvto
{
public partial class LoginUP: Form
{
public LoginUP()
{
InitializeComponent();
}
private void LoginUP_Load(object sender, EventArgs e)
{

}
private void ButtonVhod_Click(object sender, EventArgs e)
{
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\AvtoTransport.mdb");
OleDbCommand cmd = new OleDbCommand();
int i = 0;
try
{
if ((Login.Text == string.Empty) || Password.Text == string.Empty)
{
MessageBox.Show("Please enter somtfing");
}
cmd = new OleDbCommand("select count (*) from VhoD where LogiN ='" + Login.Text + "'And PassworD ='" + Password.Text + "'", con);
if (con .State== ConnectionState .Closed)
{
con.Open();
i = (int)cmd.ExecuteScalar();

}
con.Close();
if (i > 0)
{
this.Hide();
GlavnayForma glavnay = new GlavnayForma();
glavnay.Show();
}
else
{
MessageBox.Show("The username or password is wrong");
}
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
private void CloseButton2_Click(object sender, EventArgs e)
{
Application.Exit();
}

}
}
Программирование, ошибка программы Visual studio C Windows Form

ИМХО надо смотреть что в таблице VhoD с полями Login, Password и какого они типа. Канал и видео смотреть желания нет совершенно.

Я-бы сменил источник знаний на нормальную книгу от профессионалов. На ютубе очень много непроф. Которые почему-то решили что уже могут учить. И это явно один из них.

1 - не используется using
2 - не используются параметры и их передача в запросе ( + Login.Text + ) это неправильно
3 - проверка через count(*) бред. Достаточно найти одну запись - зачем напрягать СУБД считать их кол-во?!
4 - con всегда закрыт при создании и con.Close лишний при закрытом соединении. Его нужно было в условие тогда ставить
и так далее И тому подобное

Не говоря уже о том, что в "уроке" нет информации как исправили косяк, что говорит сразу о качестве материала.

Добавить комментарий