Создание формы входа с MS Access в Windows Form шаг за шагом на C#

В этой статье рассматривается, как создать приложение Windows Form в C# в качестве страницы входа, которая в основном содержит все приложения в качестве начальной страницы, где пользователи будут проверены на их пароли.

Шаг 1:

Создайте проект Windows Form и разместите на нем компоненты как показано на скрине ниже.

Шаг 2:

Обычный способ любой формы входа будет содержать пароль, отображаемый специальным символом, который используется в целях безопасности. Чтобы ввести это понятие в форму входа в систему, выберите параметр свойства текстового поля, в котором вы можете найти параметр PasswordChar, где вы можете дать желаемый специальный символ (в моем случае я использовал * звездочку). После внесения этого изменения, если вы запустите приложение, оно будет отображать только специальный символ при вводе пароля.

Шаг 3:

Теперь настало время для создания репозитория для вашей формы входа.Для этого перейдите в меню Пуск и найдите MS Access, а затем нажмите один раз, чтобы открыть. Создайте БД с именем dbUsers.accdb

Шаг 4:

Создадим таблицу с именем tblUser и поля id, user, pass. А так же внесем значения в БД.

Шаг 5:

Скопируем нашу БД в каталог программы изменив при это целевую платформу на x64

Шаг 6:

исходный код:

 


Внимание если у вас возникает ошибка:System.InvalidOperationException: «Поставщик «Microsoft.ACE.OLEDB.12.0″ не зарегистрирован на локальном компьютере.»

Вам надо изменить целевую сборку проекта на x64, если вы не знаете как это сделать, прочитайте тут.



Обновлено: 05.01.2020 — 13:57

18 комментариев

Оставить комментарий
  1. System.Data.OleDb.OleDbException: «Ядро СУБД Microsoft Access более не может открыть файл «C:\Users\Professional\Desktop\hgj» или записать в него данные. Файл уже открыт другим пользователем для монопольного доступа, либо требуется разрешение на просмотр и запись данных.»
    Че делать?

    1. Вам система пишет что фаил уже открыт, либо в приложении открыли или не закрыли соединение из приложения. Обычная перезагрузка пк поможет.

  2. Что делать, если принимает только одинаковый логин и пароль, а если делать их разными, пишет, что неправильно

    1. Потому что пароль устанавливается непосредственно на БД, и он один, внутри приложения нужно создавать логику отдельную для каждого пользователя, для входа в ваше приложения или аккаунт.

  3. Здравствуйте, хотел сделать проверку по id (первое значение после табл.) так у меня возникает ошибка, а когда сменил на другое ошибки нету, почему так? Я хотел чтобы типа была проверка по id все дела, вообще всё плохо

    1. Первое значения в таблице является ключом, его в этих целях использовать не желательно, но можно, в моем случаи Id является инкримируемым первичным числом. Возможно у вас как то иначе, и вы не верно вводите или обращаетесь не по тому ID. Так же вам выборку надо было поменять.

  4. Че такое OleDbConnection, хоть объяснили че као для особо тупых

    1. Есть раздел ADO.NET Там можно почитать интересующую вас информацию. https://www.nookery.ru/what-is-connection-object-ado-net/

  5. Ладно разобралась, но не ставьте новодобавленные строки по середине обычных, я мозг с глазами сломала пока нашла че не так, делайте статьи с объяснениями, не все такие гении как хотелось бы !!!

    1. Это приходит с опытом, больше практики и тогда все беды по плечу, рад что помог! )

  6. Ладно пусть я тут намучалась и злилась, но все ровно спасибо большое, очень помогли

  7. не распознаёт txtUser.Text и txtPass.Text, как жить?

    1. это textBox, перенесите на форму и будет счастье.

  8. МОжно по подробнее 5 пункт ?

    1. А что именно не понятно? Мы создали БД а потом ее поместили в проект. По факту вообще не имеет значение где он, главное указать расположение верно в коде программы.

  9. Здравствуйте! Помогите пожалуйста, никак не могу разобраться что такое oledbconnection, oledbcommand и oledbdatareader.. никак не получается, чтобы заработало(

    1. Книгу по ADO.net почитайте, сразу поймете.

  10. Здравствуйте, вылезла ошибка — Ошибка синтаксиса (пропущен оператор) в выражении запроса ‘user=artemAND pass=123123’.
    На 38 строке.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.