Уроки C# .NET Windows Forms / #6 - Регистрация пользователя в базе данных

  Рет қаралды 110,770

Гоша Дударь

Гоша Дударь

4 жыл бұрын

В уроке мы научимся регистрировать пользователя в базе данных через приложение. Приложение будет получать значения, соединятся с базой данных и регистрировать нового пользователя только в том случае, если такого пользователя еще нет.
1) Урок на сайте itProger: itproger.com/course/csharp-app/6
✔ Сообщество программистов: itproger.com/
✔ -------------
Вступай в группу Вк - prog_life 🚀
Группа FaceBook - goo.gl/XW0aaP
Инстаграм itProger: / itproger_official
Instagram: / gosha_dudar
Telegram: t.me/itProger_official
Twitter - / goshadudar
- Уроки от #GoshaDudar 👨🏼‍💻
- Все уроки по хештегу #goshaWinForms

Пікірлер: 108
@ryanairy6480
@ryanairy6480 4 жыл бұрын
Помню, я тебя смотрел 3 года назад... А подписчиков много прибавилось!
@apppubgmongush9099
@apppubgmongush9099 Жыл бұрын
Большое спасибо вам! Ваши уроки очень полезны.
@user-ue8tm1vd1f
@user-ue8tm1vd1f 4 жыл бұрын
Божеее, объясняете лучше моих вузовских преподов, добра Вам!
@DaniilFromAbyss
@DaniilFromAbyss 3 жыл бұрын
Не согласен, зачем так мудрить с сайтом, если он использует SQL . Глупо
@afkk7095
@afkk7095 4 жыл бұрын
Спасибо за видео
@nuprex
@nuprex 4 жыл бұрын
Спасибо за блендер.
@oilondabeats9011
@oilondabeats9011 2 жыл бұрын
Вообщем.... когда пишешь Sql запрос нужно быть *ПЕРМО-МЕГА-СУПЕРПУПЕР* внимательным! иначе потратите пару дней на поиск багов
@alenaqwrt5264
@alenaqwrt5264 4 жыл бұрын
Спасибо! Очень сильно помогли, делаю сейчас курсач)
@iamviscount5370
@iamviscount5370 3 жыл бұрын
о да :D
@lurak7706
@lurak7706 2 жыл бұрын
О ДА
@user-vw6di9ym3w
@user-vw6di9ym3w 2 жыл бұрын
О да
@user-tv2hb7oz8k
@user-tv2hb7oz8k Жыл бұрын
О да
@nepridoomal00
@nepridoomal00 2 ай бұрын
О да
@user-rs5ie7dh9w
@user-rs5ie7dh9w 4 жыл бұрын
Для нестатического поля, метода или свойства "db.getConnection()" требуется ссылка на объект. выдает вот такую ошибку на все от класса db 11:30 помогите пожалуйста
@dmitriynovikov8502
@dmitriynovikov8502 3 жыл бұрын
наводиш курсор на конец строки, которую надо скопировать, жмеш ctrl+D и вся строка дублируется, так быстрей будет
@andrwveret2944
@andrwveret2944 3 жыл бұрын
Вопрос: Возможно ли в MAMP в database добавить картинку. Ну как иконка пользователя?
@user-pn2is4vq2s
@user-pn2is4vq2s 4 жыл бұрын
Записывает по чему то в базу данных, не просто данные а ещё это перед с данными: System.Windows.Forms.TextBox, Text: dima;
@Natasha-nb3er
@Natasha-nb3er 4 жыл бұрын
Здравствуйте! У меня такой вопрос, а чтобы сделать выпадающий список при вводе данных, что нужно сделать?(нужно в самой базе данных SQL что-то настроить или в Visual Studio) Ваши уроки буквально спасают мою дипломную работу, спасибо за ваш труд и старания, все очень понятно и просто, без воды)
@astral1524
@astral1524 Жыл бұрын
Здравствуйте, можно узнать какую работу вы делаете на Visual Studio?
@BaTTeRFeeD
@BaTTeRFeeD 10 ай бұрын
​@@astral1524я думаю, вы чуть-чуть опоздали)
@user-dg5xu7to9b
@user-dg5xu7to9b 4 жыл бұрын
Всем привет! Помогите пожалуйста. У меня не проходит проверка при создании Аккаунта. Программа вылетает с ошибкой "MySql.Data.MySqlClient.MySqlException: "Table 'clearn.uzers' doesn't exist"".
@streamfuzer3829
@streamfuzer3829 4 жыл бұрын
У меня тоже самое((((((((((((((((((((((((((((((
@alexeybelkin2957
@alexeybelkin2957 2 жыл бұрын
Вопрос: Почему в MAMP login Вместо имени Появляется Вот это "@Login"
@Benkaera
@Benkaera 3 жыл бұрын
А как сделать, чтобы данные из текстбокса сначала шли через php , в базу данных,
@user-xp2dc7vw3g
@user-xp2dc7vw3g 4 жыл бұрын
System.InvalidOperationException: "Connection must be valid and open." писал так же как у тебя ошибка когда идет проверка запроса на успешность
@Steazy_gl
@Steazy_gl 4 жыл бұрын
такая же проблема, решил?
@GoodOldQuestion
@GoodOldQuestion 4 жыл бұрын
​@@Steazy_gl Я решил, надо в команду вторым аргументом добавить соединение с базой. А именно из класса DB вызвать метод возвращающий это соединение.
@GoodOldQuestion
@GoodOldQuestion 4 жыл бұрын
Я решил, надо в команду вторым аргументом добавить соединение с базой. А именно из класса DB вызвать метод возвращающий это соединение.
@shmanofficial
@shmanofficial 4 жыл бұрын
@@GoodOldQuestion скажи как сделать это? скинь код пж?!
@maxburyak
@maxburyak 4 жыл бұрын
@@shmanofficial MySqlCommand command = new MySqlCommand("INSERT INTO `users` (`login`, `pass`, `name`, `surname`) VALUES (@login, @pass, @name, @surname)", db.getConnection());
@tji4280
@tji4280 3 жыл бұрын
Здравствуйте, не могли бы мне помочь? Вылезает ошибка, то есть я ввожу имя, ввожу фамилию, логин, пароль, нажимаю кнопку зарегестрироваться и вылезает эта ошбика MySql.Data.MySqlClient.MySqlException: "Unknown column 'password' in 'field list'" Изначально это исключение было создано в этом стеке вызовов: [Внешний код] мойчудесныйпроект.RegisterForm.buttonRegister_Click(object, System.EventArgs) в RegisterForm.cs [Внешний код] мойчудесныйпроект.Program.Main() в Program.cs Буду очень рад, если окажете услугу)
@mokka_mm
@mokka_mm 2 жыл бұрын
System.TypeInitializationException: "The type initializer for 'MySql.Data.MySqlClient.MySqlConnectAttrs' threw an exception." Здравствуйте, как можно исправитьь эту ошибку в DB.cs???
@muhashaban3716
@muhashaban3716 2 жыл бұрын
почему на if (command.ExecuteNonQuery() == 1) дает ошибку ?
@selfdeveloper2688
@selfdeveloper2688 2 жыл бұрын
у меня тоже так было, я решил так: В строчке / MySqlCommand command = new MySqlCommand("INSERT INTO `users` (`login`, `password`, `name`, `surname`) VALUES (@login, @pass, @name, @surname);", db.getConnection()); / количество переменных в первых скобках - / "(`login`, `password`, `name`, `surname`)" / должно быть таким же как и во вторых - / "(@login, @pass, @name, @surname)", / так как мы буквально вставляем переменные в каждый из наших столбцов в базе данных. Скорее всего где-то была пропущена запятая, например: / "(@login, @pass, @name @surname)" или "(`login`, `password` `name`, `surname`)" / из-за чего считается что ты добавил всего 3 переменные, хотя у тебя 4 столбца в базе данных, из за этого и выдается исключение.
@karlen9490
@karlen9490 Жыл бұрын
Тоже самое
@gaimergene4576
@gaimergene4576 6 ай бұрын
Привет, попробуй добавить .Text в рядки где ти ставиш параметр на заглушки у меня так: command.Parameters.Add("@login", MySqlDbType.VarChar).Value = usernameLabel.Text;
@romanshilyaev3179
@romanshilyaev3179 4 жыл бұрын
Подскажите, как сделать ,чтобы данные из бд выводились в Datagridviwe?
@Natasha-nb3er
@Natasha-nb3er 4 жыл бұрын
вы еще не узнали как??
@doblone5845
@doblone5845 4 жыл бұрын
а как соединяется с акцес базой ?
@flagikoff
@flagikoff 9 ай бұрын
Вот у меня вопрос: Вы же для регистрации создали поля имя и фамилия. А как тогда совершать вход так,чтобы пользователю постоянно не приходилось при входе кроме логина и пароля вводить еще и фамилию и имя. Ведь в таблице с пользователями есть поля имя и фамилия и если при входе вводить только логин и пароль ,то выдаст ошибку.
@glebat28
@glebat28 4 ай бұрын
Помогите, что делать при этой ошибке - MySql.Data.MySqlClient.MySqlException: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1" ???
@user-jb4kh4xq1b
@user-jb4kh4xq1b 2 жыл бұрын
Здравствуйте. При подключении к БД ( в этом месте if (connection.State == System.Data.ConnectionState.Closed) connection.Open();) выходит следующая ошибка: MySql.Data.MySqlClient.MySqlException: "SSL Connection error." SocketException: Программа на вашем хост-компьютере разорвала установленное подключение Изначально это исключение было создано в этом стеке вызовов: [Внешний код] Подскажите, пожалуйста, как исправить
@user-lw3rx6ej9f
@user-lw3rx6ej9f 2 жыл бұрын
а можно ли аналогично этому сделать UPDATE? Миллиард попыток, а не работает... ПОМОГИТЕ ПОЖАЛУЙСТА
@z1net27
@z1net27 3 жыл бұрын
Решение проблемы #Eye.Кривоглазость599 System.InvalidOperationException Видимо вместо на открытия подключения, у вас стоит db.getConnection(); нужно db.openConnection(); db.openConnection(); if (command.ExecuteNonQuery() == 1) MessageBox.Show("Аккаунт успешно создан", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Information); else MessageBox.Show("Аккаунт не был создан", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); db.closeConnection();
@gfffhhhuhfgkhg8322
@gfffhhhuhfgkhg8322 10 ай бұрын
Как сделать что бы вместо MySqlDbType.VarChar Распознавал Int индексный?
@Crazy-yo9wj
@Crazy-yo9wj 3 жыл бұрын
Можно получить код а то писать не удобно?
@NoMan-991
@NoMan-991 8 күн бұрын
а как так красиво сделать что бы "Введите имя" исчезало при наводе курсора?
@kosmonavtyt7218
@kosmonavtyt7218 2 жыл бұрын
Кто может помочь? у меня прога не конектиться с базой данных,хотя всё делал пошагово с автором, про сохранении пользователя пишет,программа на вашем хост-компьютере разорвала соединение
@MaryJane-id1iq
@MaryJane-id1iq 3 жыл бұрын
Помогите пожалуйста, у меня всё работает, но в БД табличка не создаётся
@user-vw6di9ym3w
@user-vw6di9ym3w 2 жыл бұрын
Тож самое
@user-dy9we9rj8y
@user-dy9we9rj8y Жыл бұрын
Короче, не убирайте NULL, иначе выдаст ошибку. Все что вы скопировали с базы данных должно сохраняться, никаких столбцов не должно удаляться
@miray_ls
@miray_ls 8 ай бұрын
Большое спасибо!
@UktUe
@UktUe 4 жыл бұрын
Подскажите пожалуйста! Почему у меня не работает проверка isUserExists? Вот код. if(isUserExists()) return; . . . . . . . public Boolean isUserExists() { DB db = new DB(); DataTable table = new DataTable(); MySqlDataAdapter adapter = new MySqlDataAdapter(); MySqlCommand command = new MySqlCommand("SELECT * FROM `users` WHERE `login` = @uL", db.getConnection()); command.Parameters.Add("@uL", MySqlDbType.VarChar).Value = Login; adapter.SelectCommand = command; adapter.Fill(table); if (table.Rows.Count > 0) { MessageBox.Show("Этот логин уже существует!", "Регистрация", MessageBoxButtons.OK, MessageBoxIcon.Error); return true; } else { return false; } }
@Belov_musica
@Belov_musica Жыл бұрын
нашёл ошибку?
@darkhorse2219
@darkhorse2219 4 жыл бұрын
как сделать подтверждение аккаунта по номеру телефона или эмайла?
@UktUe
@UktUe 4 жыл бұрын
Тебе не сюда
@missiefondu7120
@missiefondu7120 3 жыл бұрын
При вводе данных на ячейках login pass name и тд в MAMP появляется надпись например на ячейке логин System. Windows. Forms. Textbox, Text: bob Что делать?
@user-jw3pz4dq1r
@user-jw3pz4dq1r 3 жыл бұрын
Не нашел ещё случайно ответа?
@haizis1880
@haizis1880 2 жыл бұрын
@@user-jw3pz4dq1r гугл, как всегда, в помощь. Нужно использовать свойство Text, указывать надо через точку после переменной содержащей текст поля: command.Parameters.Add("@login", MySqlDbType.VarChar).Value = loginField.Text;
@olehkashchenko1253
@olehkashchenko1253 2 жыл бұрын
У меня выбивает ошибку при запуске программы в DB.cs connection.Open();
@user-ve8jv6cz7j
@user-ve8jv6cz7j Жыл бұрын
приложение mamp не запустил
@keks6789
@keks6789 4 жыл бұрын
MySql.Data.MySqlClient.MySqlException: "Column count doesn't match value count at row 1" Что делать? :(
@l4epTl
@l4epTl 4 жыл бұрын
@KEKS, там где он формировал sql запрос 7:00 - не удаляй NULL первым параметром.
@keks6789
@keks6789 4 жыл бұрын
@@l4epTl Я это пофиксил просто добавив в строку pass больше кол-во строк потому что у меня было "Введите пароль"
@z1net27
@z1net27 3 жыл бұрын
MySqlCommand command = new MySqlCommand("INSERT INTO testbase (name, surname, login, password) VALUES (@name, @surname, @login, @password)", db.getConnection()); Проверь стоит ли у тебя все правильно, может забыл скобки либо что-то подобное, моя ошибка была в том что я забыл скобки.
@lok1play262
@lok1play262 Ай бұрын
@@l4epTl спасибо большое
@asylzhan_ahmetow
@asylzhan_ahmetow 4 жыл бұрын
Я всё делал как на видео, но у меня всё равно одни и те же данные добавляются повторно
@greatbahamut7598
@greatbahamut7598 4 жыл бұрын
ага
@greatbahamut7598
@greatbahamut7598 4 жыл бұрын
я свою оштбку нашел,я когда глушилке присваивал текст кнопки, я не написал button.Text, а просто button и из-за это трабл
@-_-282
@-_-282 3 ай бұрын
Почему у меня Value подчёркивается красным?
@chuachchuach8167
@chuachchuach8167 4 жыл бұрын
у меня проблема я запускаю приложение и у меня грузит окно авторизации а регистрации не грузит в чем проблема помогите пж !!!
@Echo_1337
@Echo_1337 4 жыл бұрын
Ты просто не указал форму которую нужно открыть, ищи program.cs и в сторчке Application.Run(new Авторизация()); поменяй на Application.Run(new Регистрация());
@user-ip7ox6vh1q
@user-ip7ox6vh1q 4 жыл бұрын
Проверки на пароль вообще нет, можно ввести пользователя без пароля. И почему не работаете через try?
@goffden9622
@goffden9622 3 жыл бұрын
как сделать проверку на заполненность объяснено на примере "Введите имя"
@user-pn2is4vq2s
@user-pn2is4vq2s 4 жыл бұрын
ЕСЛИ ЧТО ТО НЕ РАБОТАЕТ СТАВЬТЕ НАКИЕ КАВЫЧКИ - ` `
@selfdeveloper2688
@selfdeveloper2688 2 жыл бұрын
@@sinneky туда, куда их ставит автор видео)
@jokeer3148
@jokeer3148 4 жыл бұрын
Как минимум работа с бд на клиенте это не безопасно.
@user-mc8tn9qn3d
@user-mc8tn9qn3d 4 жыл бұрын
А как обычно работают с бд? Я просто не шарю
@user-xp2dc7vw3g
@user-xp2dc7vw3g 4 жыл бұрын
Есть некое апи, связывающее клиента и сервер
@Russia-su5bc
@Russia-su5bc 4 жыл бұрын
лол, а ничё, что если вместо логина и пароля можно вообще ввести тупо пробелы и всё будет норм?) кто знает, как решить эту проблему?
@akairoo
@akairoo 4 жыл бұрын
Есть функция Trim()
@akairoo
@akairoo 4 жыл бұрын
Например в заглушке пиши loginUsername.Trim();
@akairoo
@akairoo 4 жыл бұрын
И будет без пробелов
@Russia-su5bc
@Russia-su5bc 4 жыл бұрын
@@akairoo спасибо, попробую
@HackOFF
@HackOFF 2 жыл бұрын
Пароль в открытом виде в базе хранить такое себе!
@stonesurvivors8931
@stonesurvivors8931 Жыл бұрын
а как от этого защититься?
@imbesthotmyau
@imbesthotmyau Жыл бұрын
@@stonesurvivors8931 Есть такая шкута как, шифрование данных
@alinasergeeva
@alinasergeeva 4 жыл бұрын
MySql.Data.MySqlClient.MySqlException: "Fatal error encountered during command execution." MySqlException: Parameter '@uP' must be defined. что это такое? не работает при проверке на логин
@user-uk4wt8qn9o
@user-uk4wt8qn9o 4 жыл бұрын
у меня было похожее с паролем. Посмотри правильно ли у тебя всё в этой строке , скорее всего тут ошибка command.Parameters.Add("@loginUser", MySqlDbType.VarChar).Value = Loginfield.Text
@ObscureaBB
@ObscureaBB 4 жыл бұрын
Только не учтено, что пользователю не нужен новый аккаунт, а он его уже создал, и повторно войти с его данными он не сможет, придётся каждый раз создавать новый аккаунт.
@selfdeveloper2688
@selfdeveloper2688 2 жыл бұрын
Возможно это объясняется в следующем уроке. Если нет, то я, например, просто добавлю ссылку "уже зарегистрированы? Войти" и по нажатии будет открываться форма Авторизации.
@TedRed
@TedRed Жыл бұрын
Вот еще вариант (у меня в БД нет surname, поэтому только name). Можно вынести код в метод string connectionString = "server=localhost;port=3306;username=root;password=root;database=azimut_tickets"; string query = $"INSERT INTO `users` (`login`, `password`, `name`) VALUES (@login, @password, @name)"; using (MySqlConnection connection = new MySqlConnection(connectionString)) { connection.Open(); using (MySqlCommand command = new MySqlCommand(query, connection)) { command.Parameters.Add("@login", MySqlDbType.VarChar).Value = "user1"; command.Parameters.Add("@password", MySqlDbType.VarChar).Value = "12345"; command.Parameters.Add("@name", MySqlDbType.VarChar).Value = "Проверочный тест"; int rowsAffected = command.ExecuteNonQuery(); //MessageBox.Show($"Количество добавленных строк: {rowsAffected}"); } } MessageBox.Show("Данные успешно добавлены в таблицу.");
@mrtontris1332
@mrtontris1332 Жыл бұрын
Если вылетает вместо нужных данних @login и тд., просто уберите лапки в заглушках и всё будет работать нормально: MySqlCommand command = new MySqlCommand("INSERT INTO `users` (`id`, `login`, `pass`, `name`, `surname`) VALUES (NULL, @login, @pass, @name, @surname)", db.getConnection());
@user-po4ob1zw8c
@user-po4ob1zw8c Жыл бұрын
ты лучший. Огромное спасибо. Сижу минут 30 долблюсь
@resttricted_
@resttricted_ 9 ай бұрын
db горит красным
@mrtontris1332
@mrtontris1332 9 ай бұрын
@@resttricted_ты создал клас db и подлючил к проекту?
@gfffhhhuhfgkhg8322
@gfffhhhuhfgkhg8322 7 ай бұрын
Харош, мужик
@alexeybelkin2957
@alexeybelkin2957 2 жыл бұрын
Вопрос: Почему в MAMP login Вместо имени Появляется Вот это "@Login"
Подключение windows forms приложения к ms sql серверу
6:13
Владимир Мордвинов
Рет қаралды 54 М.
FOOLED THE GUARD🤢
00:54
INO
Рет қаралды 62 МЛН
MEU IRMÃO FICOU FAMOSO
00:52
Matheus Kriwat
Рет қаралды 37 МЛН