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

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

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

Студворк — интернет-сервис помощи студентам
всем привет. столкнулся с проблемой как сделать проверку логина при регистрации чтоб о был уникальный.
если например я захочу создать аккаунт с логином "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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.05.2018, 19:28
Ответы с готовыми решениями:

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

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

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

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

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
 Аватар для OwenGlendower
18244 / 14158 / 5366
Регистрация: 17.03.2014
Сообщений: 28,847
Записей в блоге: 1
13.05.2018, 23:29
Lastik228, добавить UNIQUE ограничение на колонку логина, делать INSERT и ловить исключение нарушения ограничения.
0
Эксперт .NET
 Аватар для Usaga
14100 / 9317 / 1349
Регистрация: 21.01.2016
Сообщений: 34,991
14.05.2018, 04:29
Цитата Сообщение от OwenGlendower Посмотреть сообщение
и ловить исключение нарушения ограничения.
Ну не. Лучше добавить проверку перед вставкой с помощью IF EXISTS и возвращением признака успешности вставки. Так и индекс уникальности пригодится и более кошерно будет сделано.
1
1 / 1 / 1
Регистрация: 20.04.2017
Сообщений: 267
23.05.2018, 11:11  [ТС]
Цитата Сообщение от 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
 Аватар для Usaga
14100 / 9317 / 1349
Регистрация: 21.01.2016
Сообщений: 34,991
23.05.2018, 11:15
Lastik228, в данном коде вы вставляете запись о новом пользователе и проверяете, сколько записей было вставлено. Что из этого работает не так как вы ожидали?
0
1 / 1 / 1
Регистрация: 20.04.2017
Сообщений: 267
23.05.2018, 11:54  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Что из этого работает не так как вы ожидали
он все равно меня регистрирует даже если login такой уже есть
0
Эксперт .NET
 Аватар для Usaga
14100 / 9317 / 1349
Регистрация: 21.01.2016
Сообщений: 34,991
23.05.2018, 11:56
Lastik228, а с чего должно быть иначе-то? Код просто запись вносит новую и всё.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.05.2018, 11:56
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru