Регистрация пользователя в windows form через БД
Не могу сообразить, сделал регистрацию в windows form через базу данных sql server management studio, нужно сделать так, чтобы нельзя было регистрировать те данные, которые уже были зарегистрированы и лежат в базе данных, помогите!
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "" || textBox4.Text == "" || textBox5.Text == "" || textBox6.Text == "")
{
MessageBox.Show("Пожалуйста, заполните все поля для регистрации!!!");
}
else
{ SqlConnection con = new SqlConnection(@"Data Source=sql2016;Initial Catalog=Stolovka;Integrated Security=True;");
con.Open();
string str = "insert into Users(Login,Password,Name,Surname,Patronymic,Telefon) values ('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "','" + textBox6.Text + "')";
SqlCommand cmd = new SqlCommand(str, con);
cmd.ExecuteNonQuery();
MessageBox.Show("Пользователь зарегистрирован!!!");
}
}
Используйте unique index например
Цитата: kot_
Используйте unique index например
А не подскажите как написать?
Цитата: Dron4ikkkk
Цитата: kot_
Используйте unique index например
А не подскажите как написать?
Необходимо создать в БД столбец с уникальним индексом, и при вставке записи обрабатывать эту ошибку:
Код:
try
{
cmd.ExecuteNonQuery();
}
catch(SqlException sqlExc)
{
foreach (SqlError error in sqlExc.Errors)
{
string msg = string.Format("{0}: {1}", error.Number, error.Message);
}
}
{
cmd.ExecuteNonQuery();
}
catch(SqlException sqlExc)
{
foreach (SqlError error in sqlExc.Errors)
{
string msg = string.Format("{0}: {1}", error.Number, error.Message);
}
}