Уроки C# .NET Windows Forms / #4 - Авторизация пользователя через базу данных
HTML-код
- Опубликовано: 14 сен 2019
- В ходе урока мы научимся авторизовывать пользователя в приложении. Для этого мы будем сверять его данные со значениями в базе данных и если пользователь будет найдет, то авторизация будет успешной.
1) Урок на сайте itProger: itproger.com/course/csharp-app/4
✔ Сообщество программистов: itproger.com/
✔ -------------
Вступай в группу Вк - prog_life 🚀
Группа FaceBook - goo.gl/XW0aaP
Инстаграм itProger: / itproger_official
Instagram: / gosha_dudar
Telegram: t.me/itProger_official
Twitter - / goshadudar
- Уроки от #GoshaDudar 👨🏼💻
- Все уроки по хештегу #goshaWinForms
Для всех тех у кого ошибка на строке adapter.Fill(table), мне помогло следующее:
1) Зашел в консоль диспетчеров пакета (Средства->Диспетчер пакетов Nurget)
2) в консоли ввел: Install-Package MySqlConnector -Version 1.3.9
3) удалил старый дллшник MySql.dll из правого меню с ссылками.
4) добавил using MySqlConnector; в DB.css и using MySqlConnector; в project.css
5) желательно удалить старые using;
Как я понял проблема была в том, что был не правильно установлен MySql, но в любом случае надеюсь кому-нибудь поможет
Српасибо бро, помогло!
Лучший♥
спасибо тебе
Храни тебя бог!!!!
Спасибо большое выручил
У кого пишет "No" программа оказывается все дело в этой строке))
MySqlCommand command = new MySqlCommand("SELECT * FROM `users` WHERE `login` = @uL AND `pass` = @uP", db.getConnection());
login и pass должны быть в косых ковычках, а не прямых))) видимо это последствия вмешательства sql ))))
т.е. вместо таких ' ', должны быть такие ` `
лол
СПАСИБО СПАСИТЕЛЬ
СПАСИБО БОЛЬШОЕ
ЛУЧШИЙ!!!!!!СПС
Спасибо за коммент очень помог!!!
Спасибо тебе огромное , очень полезная серия уроков особенно для новиков )) 👍
Вы очень понятно обьясняете! Вот честно, человек, который первый раз бы попробовал, мне кажется, сразу бы понял! Очень информативно. Благодаря вам я могу хорошо закрывать сессии)) Спасибо))
Что за гений за пультом. Всё идеально и подробно рассказывает
У меня все работает, Гоша супер Учитель-Практик!!!!!!
Написал код с ошибками и он чудесным образом работает. Магия вне Хогвардса
Спасибо Гоша! Урок прекрасный все понятно.
Спасибо тебе! Очень помог
Вопрос а как мне сделать что бы у меня к определённой переменной присваивалось значение id данного пользователя
В общем у кого выдает ошибку в запросе при запуске программы на 15:18 видео, необходимо использовать специальные символы кавычек как в phpMyAdmin(наклонные одинарные кавычки). Простые одинарные кавычки вызывают ошибку в запросе.
действительно сработало, спасибо)
Гений 😍
Огромное спасибо. Работает. Автор, Гоша Дударь либо делает специально ошибки, либо просто дает переписанный код. Курс по С# очень плохой, не кому не рекомендую! Стоят курсы дорого, а качество объяснения 0
храни тебя господь
Спасибо! Голову сломал, не понимал где не так, а все дело в кавычках было!!!!
а как дополнительно прописать код по колонке должности, например, если регистратор заявок, то на форму регистратора, если исполнителя, то на форму обработчика заказа, если бухгалтер, то на форму экономиста, если руководитель, то на аналитическую форму
Буду учиться у тебя я пока в visual studio 2017 работаю
При нажатии на кнопку войти ошибка "Необработанное исключение типа System.ArgumentException в System.Data.dll" . Дополнительные сведение: Option not supported. Как исправить ?
нашел решение?
@@d_nov Нашел решение?
Нашли решение?🤭
Нашли решение?
command.Parameters.AddWithValue("uL", loginUser); - поудобнее будет. Или нет. Почему именно так пишет автор?
Скажите а как вместо того чтобы в конце выходило сообщение Да или Нет, настроить переход на другую форму...
Отличные уроки. Если будет курс по GO, обязательно куплю! Спасибо!
Здравствуйте! программа ругается на данную строку " adapter.Fill(table);" ЧТо делать?
то же самое
В строке adapter.Fill(table); выполнение останавливается и пишет, что MySql.Data.MySqlClient.MySqlException: "Unable to connect to any of the specified MySQL hosts."
... Хотя к серверу подключен, БД создана, таблица тоже есть. Скажите пожалуйста как это починить?
В SQL командах одинарные скобки нужны такие (`), а не такие (')
@@toxroy7140 У меня такие же стоят, но все равно к MySql не подключается, такую же ошибку выдает. Зато с phpmyadmin все работает
Завис бы надолго, если бы не твой коммент)
Решил проблему?
Когда решишь ответь плез
У меня в конце после добавления пользователя и ввода логина и пароля все-равно выдает "NO" никак не могу найти в чем причина
нужно не 'login' , а `login`. Кавычки смени.
@@blinchik_bl Благодарю, в этом и была ошибка) Я тоже ее нашел, уже когда создавал окно регистрации)
Александр, столкнулся с такой же трудностью. Вы разобрались в чём дело?
@@AndreiNerus Да, нужно было кавычки поменять ( не 'login' , а `login` ), они чуток отличаются
@@aleksandr86 Спасибо огромное!!!)
Сделайте пожалуйста урок: Авторизация пользователя и на следующей форме2 выводим данные в GridView соответствующий входящему пользователю.
Здравствуйте! Все сделал как показано на видеоуроке. При запуске программы выдает ошибку "Не удалось найти имя типа или пространство имен "MySql" (пропущена директива uising или ссылка на сборку)".// using MySql.Data.MySqlClient;- уже сверху написано.
Вы решил эту проблему ?
Хочется увидеть твой код где ошибка, чтобы лучше понять как её устранить
Нашел в чём причина. Может кому-то пригодиться. На сайте там где скачивается MySQL Connector, есть вкладка "Archives". Я скачал версию 6.9.10 и все заработало. У меня VS 2010.
это все конечно круто, но если мне надо будет написать свою реализацию, вот в чем вопрос по поводу составления логики, здесь есть алгоритм для конкретной задачи, но логики такой реализации для других маленьких конечно проектов нет, и если кто понимает, можно материалы пожалуйста посоветовать которые вам помогли в этом разобраться
Мебля с заглушками, спасиб гоша
Спасибо большое за урок. Если как у вас, как и у меня, не запускается программа из-за ошибки SSL, просто в DB.cs нужно дописать параметр SSL Mode none, вот так:
new MySqlConnection("server=localhost;port=3306;username=root;password=root;database=itproger; SSL Mode = None")
Спасибо помогли)) а как вы к этому пришли ??
@@user-rl1pr9dz6g я предположила, что хост не поддерживает шифрование ssl, т.е. поток ссл не идет на стороне сервера, для этого нужно было создавать ключи шифрования, а в уроке этого не было. Поэтому я просто его отключила, чтобы все получилось. Также можно самому сгенерировать ключи для ссл, но это вне рамок темы, поэтому проще просто его отключить.
А как подключиться к SSMS внутри одной сети? я зашел на SSMS создал бд в ней таблицу users and password с данными одного пользователя для проверки входа. НО подключиться к ней не получается
можете подсказать как сделать то же самое только с помощью open server а то не получается
спасибо за ответ
Помогите пожалуйста решить проблему " System.InvalidOperationException: "Fill: Свойство SelectCommand.Connection не инициализировано." "
Проверь, мб какое нибудь свойство логин или пароль в коде и в самой бд различаются по названию
Я вообще не понимаю, как на видео оно заработало, у меня такая же была ошибка. 1)Автор нигде не подключал команду к подключению 2)В программе нету метода .OpenConnection()
При нажатии кнопки все время выдает "NO" хотя такой я создал на сервере пользователя с такими данными, что делать? помогите
разобрался?
Та-же шляпа
Дальше в комментах ответ
@@molotoksergeyрешил? у меня всегда ес почему то, когда я регаю админа. он считает есть ли в принципе записи
2,5 года прошло с выхода видео, и я даже сейчас сталкиваюсь с проблемой с ( adapter.Fill(table); ) и менял ' на наклонную и подключал NuGet, и прописывал CCl Mode = None / 0 что только не делал и с root создал левого пользователя через него пытался, нихрена не получается
нашел решение? у меня тоже беда с этим..
@@zre6273 решил?
Плюсую
Не смог из этого урока понять, когда происходит подключение. GetConnection лишь возвращает текущий статус соединения, если верить предыдущему уроку. Тогда, получается, что в момент выполнения программы автор постоянно был подключен к базе, не отключаюсь от неё (пояснительную бы команду, пожалуйста).
Не совсем, мы ведь в DB классе задаём переменную connection и в ней сразу прописан адрес. GetConnection как раз возвращает не статус, а переменную для подключения-connection, которую мы и используем в command-там сразу и сервер, и база данных указаны.
Здравствуйте. При подключении к БД ( в этом месте if (connection.State == System.Data.ConnectionState.Closed)
connection.Open();) выходит следующая ошибка:
MySql.Data.MySqlClient.MySqlException: "SSL Connection error."
SocketException: Программа на вашем хост-компьютере разорвала установленное подключение
Изначально это исключение было создано в этом стеке вызовов:
[Внешний код]
Подскажите, пожалуйста, как исправить
При нажатии на кнопку войти ошибка MySql.Data.MySqlClient.MySqlException: "Authentication to host 'localhost' for user 'root' using method 'mysql_native_password' failed with message: Unknown database 'itproger'
Проверь название базы данных в мампе
@@trple-g682 Та это уже давно было, я уже и забыл
@@artyom8813 Бывает
Подскажите что делать пжлста, кто знает?
MySql.Data.MySqlClient.MySqlException: "Authentication to host 'localhost' for user 'root' using method 'mysql_native_password' failed with message: Access denied for user 'root'@'localhost' (using password: YES)"
Внутреннее исключение
MySqlException: Access denied for user 'root'@'localhost' (using password: YES)
Привет, у меня ошмбка что проект отсуствует типа "file.cs is missing",Как решить?
Класс.
выдает ошибку на строке adapter.Fill(table)
Попробуйте в строке где определяете connection, после username=root; добавить password=root(Или какой-либо пароль который вы поставили)
@@fedorsur930 починил, проблема была не в этом, но за ответ спасибо)
@@JustLikeChannel Сказать в чем же была проблема сложно?))
@@vritz9899 а тебе зачем?
@@JustLikeChannel Так тоже такая ошибка, не могу решить)
Что делать если при вводе верных данных в форме Авторизация выдает NO, хотя в бд они записываются в случае регистрации, Т.Е меня не перекидывает на главную форму а выдает "NO"
может неверно кавычки прописали? тоже сидела не понимала почему так происходит, изменила кавычки на косые и всё заработало
@@user-si7bw1ie9m спасибо большое , что подсказали
А как сделать так чтобы при правильном указанный данных открывалась другая форма допустим окно авторицазии Form3 а окно в которое я должен попасть это Form1
Здравствуйте у меня такая ошибка, пишет что метод buttonLogin_Click нет перегруженого метода EventHandler
чтобы не вела выводится no перепроверила всё правильно написала , в чём ошибка?
Что делать если в конце выдаёт " Исключение не обработано" " MySql. Data.MySqlClient.MyException:"Unknown column 'pass' in ' where clause' "
Ты наверное смотришь с прошлого его "Гайда", в базе данных измени название колонки с "password" на "pass" и всё будет работать)
@@neonfaker9099 или в строке кода "pass" на "password". Адская машина.
Блин, подскажите пожалуйста , все сделал так же ошибок никаких и пользователей добавил, а не входит пишет no
Что мне с этим делать, видимо нет столбцов с пользователями почему то а почему понять не могу
Почему такая ошибка? поле "passField", не допускающий значения NULL, должен содержать значение, отличное от NULL, при выходе из конструктора. Возможно, стоит объявить поле как допускающий значения NULL.
у кого ошибка adapter.Fill(table); удалите эту строку 🤣
После строки 65 не получается писать command.Parameters.Add так как пишет ошибки
помогите пожалуйста решить данную проблему
А как сделать через Linq to Sql?
Почему нет проверки на подключение базы данных?
Безопасность? - не не слышали...
У меня программа не видет БД. Что Делать?
в этом уроке и в предыдущем были ошибки, которые я так и не смог исправить, да и вариантов ответов не было адекватных в комментах. Либо прекращаю обучаться по данному типу и перхожу в другие руководства либо пусть автор помогает нам
Спасибо за урок!
У меня тоже проблемы с adapter.Fill(table). Выдает ошибку: 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-se3xh2cg1m прям все апострофы? весь в коде?
имхо, лучше вынести всю работу с бд в специально созданный для этого класс. для чего форме знать о каком-то там sql?
да и к чему такие сложности с DataTable, Connector и т.д., если всего лишь требуется понять, есть ли в таблице соответствующая запись?
var sql = "select count(login) from user where login= @ul and pass = @up group by login";
...
var count = command.ExecuteScalar();
На 65-ой строке (в видео) где писал db.getConnection() после @uL.. @uP... даёт ошибку -> 'DB.getConnection()': not all code paths return a value / Помогитеее пж !
= @up", db.GetConnection());
Все шло отлично, НО! При попытке авторизации при правильном вводе логина и пароля всё равно выдает "No"((( Почему так????
все норм. просто нужно было ставить наклонные одинарные кавычки
А у тебя Visual studio 2019?
Да
у меня Visual studio 2012,может ли это повлиять на ошибкуWarning 5 The primary reference "MySql.Data, Version=8.0.19.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL" could not be resolved because it was built against the ".NETFramework,Version=v4.5.2" framework. This is a higher version than the currently targeted framework ".NETFramework,Version=v4.5". WindowsFormsApplication2
привет, у меня та же проблема. тебе удалось найти решение? можешь поделиться?
Вылезло "исключение" : "Unknown column 'pass' in 'where clause'"
Измени pass на password
И в бой
SQL инъекции тут возможны? нужно ли делать подготовленные запросы как в php? Есть знатоки?
прошу прощения, не досмотрел до 9:46.
*Спасибо как всегда. У меня вопрос.*
Это будет работать если база данных у меня на бесплатном хостинге? потому что я чет не смог подключить.
попробуй базу данных подключить в конце кода. P.s У меня сработало
Символ не тот указал как и я)))``````
грёбаная тильда
MySqlCommand command = new MySqlCommand("SELECT * FROM `users` WHERE `login` = @uL AND `pass` = @uP", db.getConnection());
@@revenant2103 спасибо!
не получается войти не ищет пользователя, регистрация получается. Знаете в чем может быть проблема ?
MySqlCommand command = new MySqlCommand("SELECT * FROM `users` WHERE `login` = @uL AND `pass` = @uP", db.getConnection());
У меня все равно пишет NO, кавычки стоят косые, в чем проблема может быть ещё?
в данном куске кода я не заметил ошибки, возможно где-то в другом месте есть погрешности
решил проблему ?
выдает ошибку loginField.Text
Когда ввожу логин и пароль пишет не верно, хотя я уже 10 раз проверяла
Нужно не 'login' , а `login`. Кавычки смени на косые
Что делать,помогите пожалуйста:MySql.Data.MySqlClient.MySqlException
HResult=0x80004005
Сообщение = Authentication to host 'localhost' for user 'root' using method 'mysql_native_password' failed with message: Access denied for user 'root'@'localhost' (using password: YES)
Источник = MySql.Data
Трассировка стека:
в MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.AuthenticationFailed(Exception ex)
в MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.ReadPacket()
в MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.Authenticate(Boolean reset)
в MySql.Data.MySqlClient.NativeDriver.Authenticate(String authMethod, Boolean reset)
в MySql.Data.MySqlClient.NativeDriver.Open()
в MySql.Data.MySqlClient.Driver.Open()
в MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)
в MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection()
в MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()
в MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()
в MySql.Data.MySqlClient.MySqlPool.GetConnection()
в MySql.Data.MySqlClient.MySqlConnection.Open()
в System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
в System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
в System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
в SQL_App.LoginForm.buttonLogin_Click(Object sender, EventArgs e) в C:\Users\borsh\source
epos\SQL_App\SQL_App\LoginForm.cs:строка 77
в System.Windows.Forms.Control.OnClick(EventArgs e)
в System.Windows.Forms.Button.OnClick(EventArgs e)
в System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
в System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
в System.Windows.Forms.Control.WndProc(Message& m)
в System.Windows.Forms.ButtonBase.WndProc(Message& m)
в System.Windows.Forms.Button.WndProc(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
в System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
в System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
в System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
в System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
в System.Windows.Forms.Application.Run(Form mainForm)
в SQL_App.Program.Main() в C:\Users\borsh\source
epos\SQL_App\SQL_App\Program.cs:строка 19
Изначально это исключение было создано в этом стеке вызовов:
MySql.Data.MySqlClient.MySqlStream.ReadPacket()
MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.ReadPacket()
Внутреннее исключение 1:
MySqlException: Access denied for user 'root'@'localhost' (using password: YES)
У меня не может найти в бд логин и пароль
Клас Ж) !!!
Кто может помочь? Не получается удаленно подключиться к бд. Есть на хостинге база данных phpmyadmin но не понимаю где взять ip или имя сервера, знаю только имя пользователя, бд и пароль.
Кстати когда бд подключал к сайту то в названии сервера писал localhost, но не думаю что в windows form так получится
попробуй через rdp
Добрый день! Мы делаем проект не в Windows Forms, а через WPF. Похоже, что в связи с этим при нажатии кнопки "авторизоваться" возникает ошибка 'SSL connection error' в строке adapter.Fill(table);. Подскажите, пожалуйста, что с этим можно сделать. Заранее спасибо!
у меня такая же проблема хотя делаю на win forms
@@user-of1ll3dy4h Мы потом подключали сервера не через MAMP, а через MySQL Workbench. Сервер в MySQL нужно создать с отключением опции SSL. Надеюсь, поможет)
Подскажите что пошло не так Исключение не обработано MySql.Data.MySqlClient.MySqlException: "Parameter '@uL' has already been defined."
Проблема решена, тут из за не внимательности)
Столкнулся с проблемой при проверке проекта , при нажатии на кнопку войти программа виснет и в Visual Studio выдает окно " исключение не обработано " MySql.Data.MySqlClient.MySqlException: "Unknown column 'login ' in 'where clause'"
кто шарит в чем проблема пожалуйста помогите
как решил?
connection options 'server' is dublicated- что делать
тоже самое
Смогли решить?
Вообще не выводит "No" и "Yes", в чем может быть ошибка?
Здравствуйте подскажите пожалуйста в чем проблема..
if (table.Rows.Count > 0)
MassageBox.Show("Yes");
MassageBox.Show("No");
По какой причине ошибка Show:CS1061- "odject" не содержит определения для "Show", и не удалось найти доступный метод расширения"Show", принимающий тип "object" в качестве первого аргумента( возможно, пропущена директива using или ссылка на сборку).
Очень нужна помощь начинающий программист)
mEssageBox
Нашёл решение?
ругается на adapter.Fill(table); ниже в комментах уже этот вопрос поднимали, но никто так и не ответил.
возможно неправильная строка с вызовом бызы, private MySqlConnection connection = new MySqlConnection("server=localhost;port=3306;username=root;password=root;database=first_basa"); а именно database=first_basa
должно быть название базы которую вы создали
💪💪💪
😎👨💻👨💻👨💻👨💻👨💻;-)
команда. Параметры.Добавить("@uL"; MySqlDbType.VarChar). Значение = LoginUser; не подсвечивается как у вас command
IOException: Не удается прочитать данные из транспортного соединения: Программа на вашем хост-компьютере разорвала установленное подключение .
КАК РЕШИТЬ ПРОБЛЕМУ , помогите пожалуйста
@@sharapoff7818 Реально помогло. Спасибо
на помощь, прошу MySql.Data.MySqlClient.MySqlException: 'Authentication to host 'localhost' for user 'root' using method 'mysql_native_password' failed with message: Access denied for user 'root'@'localhost' (using password: YES)'
из-за чего ошибку выдаёт, проверил миллион раз всё, до мельчайшей детали, но всё равно выскакивает
@Stellarman от души
@Stellarman Живи щастливо
У меня такая ошибка
for user 'root' using method 'mysql_native_password' failed with message:
Access denied for user 'root'@'localhost' (using password: NO)"
Помогите пожалуйста
Ты забыл в DataBase прописать password=root;
Спасибо помогло))
adapter.Fill(table); подскажите пожалуйста как исправить ))
MySql.Data.MySqlClient.MySqlException
решил?
Реально такая же проблема, а решить не могу...😥
@@togrich проверь сходства названия колонок в бд и в коде, я нашел ошибку и у тебя тоже самое мо идее
@@darkmoontnn7970 конечно, спасибо, но я уже нашёл решение. Раньше)
@@togrich как решили?
Здравствуете! Все отлично но с базе надо подключится один раз а не каждый...
В идеальном случае нужно ещё закрывать соединение (я ролик не до конца просмотрел. Возможно он реализовал)
Зачем MAMP? Когда проще использовать OpenServer/аналог забытого Denwer...
Ребят у меня ошибка вот такая
MySql.Data.MySqlClient.MySqlException: "Authentication to host 'localhost' for user 'rootr' using method 'mysql_native_password' failed with message: Access denied for user 'rootr'@'localhost' (using password: YES)"
я решил проблему
больше не надо
@@streamfuzer3829 как?
@@streamfuzer3829 как ты её решил?
У меня ничего не авторизует. Выдает ошибку. Зависает окно. Всплывающие окна не вылазят.
System.ArgumentException: "Connection option 'server' is duplicated."
Изначально это исключение было создано в этом стеке вызовов:
[Внешний код]
WindowsFormsApp1.LoginForm.buttonLogin_Click(object, System.EventArgs) в LoginForm.cs
[Внешний код]
WindowsFormsApp1.Program.Main() в Program.cs
у меня была ошибка post вместо port
як змінити id наприклад на 0000000001?
У меня проблемы с adapter.Fill(table); Пишет - MySql.Data.MySqlClient.MySqlException: "Authentication to host 'localhost' for user 'root' using method 'mysql_native_password' failed with message: Access denied for user 'root'@'localhost' (using password: YES)"
Вы вероятно пытаетесь подключиться к Mysql удаленно, т.к. пользователю root в целях безопасности запрещено заходить с внешних адресов, можно только с localhost. Вам надо создать еще одного пользователя и разрешить ему входящие соединения с внешних адресов.
@@bulsond спасибо. Помогло
@@crekan8747 Пожалуйста. Я случайно набрел на это видео. И хочу вам откровенно сказать, что эти т.н. уроки откровенная лажа. Ну, то есть, конечно, так писать можно, но пишет так только человек для которого программирование является хобби. Этот Гоша совсем не имеет представления о том, что у приложения должна быть хоть какая-то архитектура, разделение на слои ответственности. Гоша не знает, что у большинства контролов есть DataBindings, т.е. привязки данных и работать с контролами вот так textBox.Text = "хрень" суть хрень. Так что имейте это в виду.
@@bulsond Еще одного пользователя где?? Можешь подсказать как это пофиксить??
@@user-mn2po8ns2z не обязательно просто можно сначало создать акк а потом удалить если надо
и всё заработает
Абсолютно нет логики в написании класса. Если будет два и более пользователей с одинаковым логином и паролем (а запрета на это нет, потому что уникальные значения Вы сделали только у ID), то программа будет работать абсолютно некорректно, потому что каким образом можно войти сразу с двух аккаунтов?. И правильнее было бы выводить как результат работы не просто yes no, а логин и пароль данного пользователя. И, соответственно, в команде к базе данных нет никакого смысла делать выборку всех пользователей, а необходимо лишь одного.
Для примера сойдёт, конечно, но на самом деле очень много недоработок
Согласен. Программа не доработана и требует улучшений.
как сделать выборку только одного, если для вывода нужно пройтись по всем и найти нужного?
это фиксится легко - при регистрации тупо можно сравнивать поле в котором чел ввел свой логин с тем что в бдшке, если есть такой, значит сообщение вывести "введите другой логин"
MySql.Data.MySqlClient.MySqlException: "Unable to connect to any of the specified MySQL hosts."
вот такая ошибка выскакивает после нажатия кнопки
++
смог решить:?
@@mr.talap016 да нужно дописать параметр SSL Mode none, вот так:
new MySqlConnection("server=localhost;port=3306;username=root;password=root;database=itproger; SSL Mode = None")
@@mobuitiotitor спасибо,хоть и поздно😂😂😂
MySql.Data.MySqlClient.MySqlException: "Authentication to host 'mysql.zzz.com.ua' for user '***' using method 'mysql_native_password' failed with message: Logins are not allowed" в строке Adapter.Fill(table); Как решить проблему?
Пароль и логин введены правильно
Если у кого будет такая проблема. Она возникает только если подключатся к удаленным серверам, и в случае ее появления обратитесь к провайдеру. Ведь в моем случае, я использую бесплатный хостинг и доступ для подобных фич заблокирован
Скорее бы уже WPF
что мешает под WPF тоже самое сделать ?
Ошибка
Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение!
не включен сервер mysql
Не работает как надо
Исключение не обработано adapter.Fill(table);
MySql.Data.MySqlClient.MySqlException: "Unknown column 'pass' in 'where clause'"
Помогите, пожалуйста
решил?
@@darkmoontnn7970 да
@@kup8545 я тоже))) можешь код скинуть или ссылку на диск?
@@darkmoontnn7970 у меня другая проблема, в любом случаи при авторизации выдает "No"
@@kup8545 если у тебя в базе данных нет записей, то в любом случае будет ноу. Но у меня есьь запись учетка админа и изза нее у меня всегда ес
internal void Fill(DataTable table)
{
throw new NotImplementedException();
}
переходит на MysqlDataAdapter вкладку после нажатия на войти и выделяет облость этого кода
Нашел ответ?
@@user-vx8xq6md2x нет
@@antonradochin5494 (
@@user-vx8xq6md2x Я забил болт на бд и просто написал
ответьте пж что делать если MySql.Data.MySqlClient.MySqlException: "Unknown column 'pass' in 'where clause'"
вот такую ошибку пишет тип исключение не обработанно
Как это исправить, а то такое самое вылетает
Возможно ты не так назвал колонку в БД
Кто нибудь помогите выдает ошибку в этом
adapter.Fill(table);
if (table.Rows.Count > 0)
MessageBox.Show("Yes");
else
MessageBox.Show("No");
подсвечивает adapter.Fill(table)
и не показывает окно(правильные ли данные) после ввода данных пользователя
решил?
Привет, а можно подробнее про "заглушки"?
Зачем они нужны?
для безопасности, чтобы пароли не вытягивали sql-иньекциями
у меня выскакивает ошибка при переходе в другую форму что делать снизу напишу ошибку и код
System.ObjectDisposedException: "Доступ к ликвидированному объекту невозможен.
Имя объекта: "Cheat"."
if (table.Rows.Count == 1)
{
Cheat objfrmMain = new Cheat();
this.Hide();
objfrmMain.Show();
}
else
{
MessageBox.Show("Ошибка логин или пароль");
}
рассмотреть пример - да, но научиться тут работе с бд - нет((
Низкое разрешение не позволяет показать сразу много кода. Приходится записывать под диктовку вместо того, чтобы смотреть, а потом работать, что не очень удобно