Здравствуйте, нужна помощь, т.к. во время работы программы вылазит ошибка, и я не знаю как ее исправить
Надеюсь вы мне необразованному поможете
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;
using System.IO;
using System.Data.Common;
using System.Data.SQLite;
using System.Security.Cryptography;
namespace BasicsOfProgramming
{
public partial class Registerform1 : Form
{
private SQLiteConnection DB; public Registerform1()
{
InitializeComponent();
RegUserLoginField.Text = "Введите здесь свой логин";
RegUserLoginField.ForeColor = Color.Gray;
RegUserPassField.Text = "Введите здесь свой пароль";
RegUserPassField.ForeColor = Color.Gray;
RegUserPassCheckField.Text = "Введите пароль еще раз";
RegUserPassCheckField.ForeColor = Color.Gray;
}
private void RegUserLoginField_Enter(object sender, EventArgs e)
{
if (RegUserLoginField.Text == "Введите здесь свой логин")
{
RegUserLoginField.Text = "";
RegUserLoginField.ForeColor = Color.Black;
}
}
private void RegUserLoginField_Leave(object sender, EventArgs e)
{
if (RegUserLoginField.Text == "")
{
RegUserLoginField.Text = "Введите здесь свой логин";
RegUserLoginField.ForeColor = Color.Gray;
}
}
private void RegUserPassField_Enter(object sender, EventArgs e)
{
if (RegUserPassField.Text == "Введите здесь свой пароль")
{
RegUserPassField.Text = "";
RegUserPassField.ForeColor = Color.Black;
}
}
private void RegUserPassField_Leave(object sender, EventArgs e)
{
if (RegUserPassField.Text == "")
{
RegUserPassField.Text = "Введите здесь свой пароль";
RegUserPassField.ForeColor = Color.Gray;
}
}
private void RegUserPassCheckField_Enter(object sender, EventArgs e)
{
if (RegUserPassCheckField.Text == "Введите пароль еще раз")
{
RegUserPassCheckField.Text = "";
RegUserPassCheckField.ForeColor = Color.Black;
}
}
private void RegUserPassCheckField_Leave(object sender, EventArgs e)
{
if (RegUserPassCheckField.Text == "")
{
RegUserPassCheckField.Text = "Введите пароль еще раз";
RegUserPassCheckField.ForeColor = Color.Gray;
}
}
private void RegisterButton_Click(object sender, EventArgs e)
{
SQLiteConnection data;
data = new SQLiteConnection(@"Data Source=database.db; Version=3;");
data.Open();
MD5 md5 = new MD5CryptoServiceProvider();
string hash = BitConverter.ToString(md5.ComputeHash(Encoding.UTF8.GetBytes((RegUserLoginField.Text + RegUserPassField.Text)))).Replace("-", String.Empty);
SQLiteCommand checkUser = new SQLiteCommand("SELECT id FROM database WHERE Логин = '" + RegUserLoginField.Text + "'", data);
SQLiteCommand addUser = new SQLiteCommand("INSERT INTO 'users' ('username', 'hash') VALUES ('" + RegUserLoginField.Text + "','" + hash + "');", data);
SQLiteDataReader reader = checkUser.ExecuteReader();
if (!reader.HasRows)
{
if (RegUserPassField.Text != RegUserPassCheckField.Text)
{
MessageBox.Show("Пароли не совпадают!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
RegUserLoginField.Text = "";
RegUserPassField.Text = "";
RegUserPassCheckField.Text = "";
}
else
{
addUser.ExecuteNonQuery();
data.Close();
MessageBox.Show("Вы успешно зарегистрировались!", "ОК", MessageBoxButtons.OK, MessageBoxIcon.Information);
RegUserLoginField.Text = "";
RegUserPassField.Text = "";
RegUserPassCheckField.Text = "";
this.Hide();
new Loginform1().Show();
}
}
else
{
RegUserLoginField.Text = "";
RegUserPassField.Text = "";
RegUserPassCheckField.Text = "";
MessageBox.Show("Пользователь с таким именем уже существует!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
data.Close();
}
}
private void RegisterForm_Load(object sender, EventArgs e)
{
DB = new SQLiteConnection("Data Sourse = Base.db; Version = 3");
}
}
}