Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 1
Регистрация: 20.04.2017
Сообщений: 267
1

Уникальный логин

13.05.2018, 19:28. Показов 1187. Ответов 7

Author24 — интернет-сервис помощи студентам
всем привет. столкнулся с проблемой как сделать проверку логина при регистрации чтоб о был уникальный.
если например я захочу создать аккаунт с логином "ww1" а такой уже есть то он мне не даст зарегистрироваться.
вот код регистрации.
все данные записываются в базу и считываются от туда.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
  
 
            SqlConnection sqlcon = new SqlConnection("server=DESKTOP-66UCHI9;database=pk;Integrated Security=True");
            SqlCommand con = new SqlCommand("INSERT INTO slyIIIatelei (Фамилия_ИО, домашний_адрес, номер_телефона, дата_рождения, группа,уникальный_номер, login, password)  VALUES (@FIO, @homaddres, @numer, @data, @grup,@textBox12, @login, @passvord)", sqlcon);
            con.Parameters.AddWithValue("@FIO", FIO.Text);
            con.Parameters.AddWithValue("@homaddres", homaddres.Text);
            con.Parameters.AddWithValue("@numer", numer.Text);
            con.Parameters.AddWithValue("@data", data.Text); 
            con.Parameters.AddWithValue("@grup", grup.Text);
            con.Parameters.AddWithValue("@login", login.Text);
            con.Parameters.AddWithValue("@passvord", passvord.Text);
            con.Parameters.AddWithValue("@textBox12", textBox12.Text);
            try
            {
                sqlcon.Open();
                con.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally { sqlcon.Close(); }
            {
                f6 = new Form6();
                this.Hide();
                f6.Show();
            }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.05.2018, 19:28
Ответы с готовыми решениями:

Уникальный идентификатор PC
Добрых времени суток. Собственно нужно получить уникальный id компа средствами .NET 3.5, в котором...

Уникальный идентификатор
Создал таблицу CREATE TABLE . ( UNIQUEIDENTIFIER DEFAULT (newid()) NOT NULL, NCHAR...

Генерировать уникальный ID
Приветствую! Есть коды, сформированные по алгоритму GUID. Есть ли какие-нибудь алгоритмы, чтобы...

Уникальный ID для записей
Всем доброго времени суток! Есть таблица, MSSQL 2012, работаю в VS 2012, отображаю таблицу в...

7
5 / 5 / 2
Регистрация: 28.12.2011
Сообщений: 65
13.05.2018, 22:59 2
Вот сам на днях делал, можешь посмотреть.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 private void Registration_Click(object sender, RoutedEventArgs e)
        {
 
            if (Email.Text != string.Empty)
            {
                try
                {
                    using (command = new MySqlCommand("INSERT INTO Doctor(Name,Surname,Email,Password) SELECT  @Name, @Surname, @Email,@Password WHERE  NOT EXISTS (SELECT 1 FROM Doctor WHERE Email = @Email) ", connection))
                    {
                       
                        {
                            command.Parameters.Add(new MySqlParameter("@Name", firstname.Text));
                            command.Parameters.Add(new MySqlParameter("@Surname", lastname.Text));
                            command.Parameters.Add(new MySqlParameter("@Email", Email.Text));
                            command.Parameters.Add(new MySqlParameter("@Password", password.Password));
                            connection.Open();
                           
                            if (command.ExecuteNonQuery()<=0)
                            {
                                MessageBox.Show("Такой пользователь уже существует!");
                            }
                            else
                            {
                                MessageBox.Show("Вы успешно зарегистрировались!");
                            }
 
                            connection.Close();
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
 
                }
            }
            else
            {
                MessageBox.Show("Пожалуйста, заполните все поля!");
            }
 
        }
0
Администратор
Эксперт .NET
17037 / 13387 / 5221
Регистрация: 17.03.2014
Сообщений: 27,393
Записей в блоге: 1
13.05.2018, 23:29 3
Lastik228, добавить UNIQUE ограничение на колонку логина, делать INSERT и ловить исключение нарушения ограничения.
0
Эксперт .NET
12084 / 8394 / 1284
Регистрация: 21.01.2016
Сообщений: 31,649
14.05.2018, 04:29 4
Цитата Сообщение от OwenGlendower Посмотреть сообщение
и ловить исключение нарушения ограничения.
Ну не. Лучше добавить проверку перед вставкой с помощью IF EXISTS и возвращением признака успешности вставки. Так и индекс уникальности пригодится и более кошерно будет сделано.
1
1 / 1 / 1
Регистрация: 20.04.2017
Сообщений: 267
23.05.2018, 11:11  [ТС] 5
Цитата Сообщение от mrVlados95 Посмотреть сообщение
Вот сам на днях делал, можешь посмотреть.
я все правильно сделал или нет? он не хочет проверять.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 private void button3_Click(object sender, EventArgs e)
        {
            if (login.Text != string.Empty)
                {
 
                    SqlConnection sqlcon = new SqlConnection("server=DESKTOP-66UCHI9;database=pk;Integrated Security=True");
                    SqlCommand con = new SqlCommand("INSERT INTO slyIIIatelei (Фамилия_ИО, домашний_адрес, номер_телефона, дата_рождения, группа,уникальный_номер, login, password)  VALUES (@FIO, @homaddres, @numer, @data, @grup,@textBox12, @login, @passvord)", sqlcon);
                    con.Parameters.AddWithValue("@FIO", FIO.Text);
                    con.Parameters.AddWithValue("@homaddres", homaddres.Text);
                    con.Parameters.AddWithValue("@numer", numer.Text);
                    con.Parameters.AddWithValue("@data", data.Text);
                    con.Parameters.AddWithValue("@grup", grup.Text);
                    con.Parameters.AddWithValue("@login", login.Text);
                    con.Parameters.AddWithValue("@passvord", passvord.Text);
                    con.Parameters.AddWithValue("@textBox12", textBox12.Text);
                    try
                    {
                        sqlcon.Open();
 
                    if (con.ExecuteNonQuery() <= 0)
                        {
                            MessageBox.Show("Такой пользователь уже существует!");
                        }
                        else
                        {
                            MessageBox.Show("Вы успешно зарегистрировались!");
                        }
                    }
                    finally { sqlcon.Close(); }
                    {
                        f6 = new Form6();
                        this.Hide();
                        f6.Show();
                    }
            }    
        }
0
Эксперт .NET
12084 / 8394 / 1284
Регистрация: 21.01.2016
Сообщений: 31,649
23.05.2018, 11:15 6
Lastik228, в данном коде вы вставляете запись о новом пользователе и проверяете, сколько записей было вставлено. Что из этого работает не так как вы ожидали?
0
1 / 1 / 1
Регистрация: 20.04.2017
Сообщений: 267
23.05.2018, 11:54  [ТС] 7
Цитата Сообщение от Usaga Посмотреть сообщение
Что из этого работает не так как вы ожидали
он все равно меня регистрирует даже если login такой уже есть
0
Эксперт .NET
12084 / 8394 / 1284
Регистрация: 21.01.2016
Сообщений: 31,649
23.05.2018, 11:56 8
Lastik228, а с чего должно быть иначе-то? Код просто запись вносит новую и всё.
0
23.05.2018, 11:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.05.2018, 11:56
Помогаю со студенческими работами здесь

Составной уникальный индекс
Здравствуйте! Можно ли в DataTable создать составной уникальный индекс? Или надо вручную проверять...

Уникальный статический параметр процесса
День добрый, у меня есть 2 вопроса, задача: Моментально закрывать процесс который находиться в...

Уникальный идентификатор компа(на основе железа)
Не хочется изобретать велосипед, может есть у кого или где видели ? Ну или хотя бы на языке...

Как получить уникальный код машины
Как получить уникальный код машины?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru