Изучение C# WPF на практике / Урок #6 - Регистрация в приложении

Поділитися
Вставка
  • Опубліковано 30 чер 2024
  • Настало время научиться работать с базой данных. За урок мы создадим функционал для регистрации пользователя внутри приложения.
    ✅ Полезные ссылки:
    1) Урок на сайте itProger: itproger.com/course/csharp-wpf/6
    ⏰ Тайм-коды:
    00:00 - Начало
    00:37 - Объект контекста
    01:57 - Добавление объекта в БД
    04:35 - Тестирование программы
    05:45 - Исправление ошибки
    08:39 - Отображение записей из БД
    12:45 - Тестирование и завершение
    ✔ Сообщество программистов: itproger.com/
    ✔ -------------
    Вступай в группу Вк - prog_life 🚀
    Группа FaceBook - goo.gl/XW0aaP
    Инстаграм itProger: / itproger_official
    Instagram: / gosha_dudar
    Telegram: t.me/itProger_official
    Twitter - / goshadudar
    - Уроки от #GoshaDudar 👨🏼‍💻
    - Все уроки по хештегу #goshaLessons

КОМЕНТАРІ • 93

  • @user-bg8cw8qp4p
    @user-bg8cw8qp4p 3 роки тому

    Круто, спасибо!

  • @antonmaklakov
    @antonmaklakov 3 роки тому +1

    Поздравляю с 600к подписчиков!

  • @laderuna
    @laderuna 10 місяців тому +1

    Исправление ошибки предложенное автором не решило проблему на моем компьютере и ошибка осталась. В файле .config указал путь к db полностью

    • @feekor7441
      @feekor7441 6 місяців тому

      Спасибо тебе большое!!!. Очень помог

  • @AndrewPstvt
    @AndrewPstvt 3 роки тому

    Отличный курс, можно отдельный ролик о динамическом создании элементов?

  • @user-sp3ks2vs6x
    @user-sp3ks2vs6x 2 роки тому +2

    А код подключения к базе данных SQL Server Management Studio какой?

  • @user-hs5jp2ut7i
    @user-hs5jp2ut7i 3 роки тому +2

    Алгоритмы и структуры данных бы отдельным курсом))

  • @dannycyberwalker
    @dannycyberwalker 3 роки тому +2

    7:11 Вроде бы можно просто написать public string Email {private get; set;}

  • @slaveofgodslaveofgod3041
    @slaveofgodslaveofgod3041 3 роки тому +1

    Отличные уроки! Спасибо большое! Класс! Гоша, а сколько всего будет уроков и когда все выйдут???

  • @MalinkoFFF
    @MalinkoFFF Рік тому

    Если вы при запуске получаете ошибку CreateDatabase is not supported, значит вы забыли поставить на db в свойствах "Копировать" и entity пытается создать новую таблицу сам, где у него не получается ничего.

  • @kurama314
    @kurama314 3 роки тому +2

    Привет! Давай что-то на Swift)

    • @kurama314
      @kurama314 3 роки тому

      @Злая собака . Гааав-гав-гав Если ты не знал, есть люди которые знают Swift, и хотят видеть интересные видео по разработке на этом языке.

  • @AkramAzizmurodov
    @AkramAzizmurodov 3 роки тому

    Гоша, все отлично! По твоему взгляд какой язык сейчас самый лучший и популярный для создания программа для Windows? Дай мне пожалуйста совет. Python PyQt5 надо учить или C# WPF ?

    • @arturlomakin3555
      @arturlomakin3555 3 роки тому

      Учи C#. Я пробовал Qt, но это говно. Мало возможностей. WPF крутая штука.

    • @rainbowskycountris9022
      @rainbowskycountris9022 3 роки тому

      Насколько я знаю, C#, C++, Java, Python - самые популярные. Еще есть и другие популярные, но эти больше всего. У каждого из них - свои плюсы и минусы) Но мне С# больше всего нравится)

  • @ramzesic2056
    @ramzesic2056 3 роки тому

    если надо вторую базу данных добавить как это сделать

  • @user-hm7iw7wj3f
    @user-hm7iw7wj3f 2 роки тому +4

    Всем ку. Я новичок в WPF . В ходе следования уроку столкнулся с ошибкой выполнения "EntityType 'User' has no key defined" при выполнении db.Users.Add
    Решение:
    в модуле "User" добавить "using System.ComponentModel.DataAnnotations;"
    и ниже в классе добавить "[Key]"

    • @freezik_company
      @freezik_company Рік тому

      куда именно добавить [key]?

    • @freezik_company
      @freezik_company Рік тому +1

      и как добавить??

    • @denisss8102
      @denisss8102 Рік тому

      и правда, куда добавить Key? Можешь примерно хотябы сказать?

    • @user-xt4rh3sv5k
      @user-xt4rh3sv5k 7 місяців тому

      @@denisss8102 если вдруг еще интересно. "[Key]" нужно прописать перед каким либо свойством класса. Например, у меня в классе два свойство: для логина и пароля. И над строкой public Login нужно написать вот тот ключ

    • @Dragon-yg5bv
      @Dragon-yg5bv Місяць тому

      @@user-xt4rh3sv5k Спасибо вам и @user-hm7iw7wj3f , что решили мою проблему. После этого действительно всё заработало :)

  • @Gastoraf
    @Gastoraf 3 роки тому +1

    Ошибка: System.Data.Entity.Infrastructure.DbUpdateException: 'An error occurred while updating the entries. See the inner exception for details.' Как ее решить? Подскажите пожалуйста, если получилось исправить.

    • @WeCoders
      @WeCoders 3 роки тому

      Добавить имя таблицы и добавить идентификатор в модель через атрибут [TableName("tbname")]
      [Key]

    • @user-mw8zo1dl1s
      @user-mw8zo1dl1s 3 роки тому

      @@WeCoders можно по подробнее

    • @kpanat
      @kpanat 10 місяців тому

      @@user-mw8zo1dl1s Ну это аттрибут класса на сколько я понял...

  • @nikolaamber9972
    @nikolaamber9972 2 роки тому

    7.36 У меня выдает ошибку, System.StackOverflowException: "Выдано исключение типа "System.StackOverflowException"."
    строка Login

  • @kpanat
    @kpanat 10 місяців тому

    Кстати конструктор с 3-мя параметрами в классе модели не нужен. Все значения задаются с помощью конструкции инициализации. Ну кому-то мб так удобнее. не знаю...

  • @adhamkhaytbaev16
    @adhamkhaytbaev16 3 роки тому +2

    System.Windows.Markup.XamlParseException вот эта ошибка выходит в файле ApplicationContext.cs
    в строке public ApplicationContext() : base("DefaultConnection") {}
    ЧО ДЕЛАТЬ ПОМОГИТЕ НЕ МОГУ ИСПРАВИТЬ

    • @kpanat
      @kpanat 10 місяців тому

      Да выкинь этот класс и другой и сделай по нормальному а не с такими извратами... там что-о не так конфиг файле. Не думаю что это легко будет разобраться... а главное это не нужно... не работает так сделай иначе как работает. Есть гарантированный способ работы... Это когда по стандарту делаешь. А не с извращениями.

  • @hannaivanova3392
    @hannaivanova3392 2 роки тому

    Подскажите, а почему мы пишем AppContext именно вверху после class MainWindow, а выделяем память после Initilize COmponent?
    почему нельяз прописать вдр месте?

  • @valia_kh
    @valia_kh 3 роки тому

    А если нету файлов xaml ?

  • @alexeygenadich5051
    @alexeygenadich5051 2 роки тому +5

    SQLiteException: SQL logic error
    no such table: Users

    • @morze_py
      @morze_py 2 роки тому

      Надо прописать полный путь в App.config к твоей БД

    • @valenko_
      @valenko_ 2 роки тому

      @@morze_py теперь выдает ошибку System.Data.DataException: "An exception occurred while initializing the database. See the InnerException for details."
      в строчке db.Users.Add(user);

    • @valenko_
      @valenko_ 2 роки тому

      @@morze_py сделал все как в уроке

    • @vena225
      @vena225 2 роки тому

      мы не одни походу

    • @vena225
      @vena225 2 роки тому

      connectionString="Data Source=C:\Users\Admin\source
      epos\testProject\testProject\accepted.db" типа так должно быть

  • @cappucc
    @cappucc 3 роки тому +4

    Я сразу от его старых уроков по python и у меня вопрос, как голос может так поменяться, или это его сын?

  • @nedoprogramer4703
    @nedoprogramer4703 3 роки тому

    Привет, вроде бы сделал всё как в видео, по инструкциям, и даж понимаю что как работает, но выдаёт ошибку: DllNotFoundException: Не удается загрузить DLL "SQLite.Interop.dll": Не найден указанный модуль. (Исключение из HRESULT: 0x8007007E) Если кто то сталкивался с такой, можете обьяснить?

    • @rainbowskycountris9022
      @rainbowskycountris9022 3 роки тому

      Ну, не найден модуль такой то. Скорее всего, ошибка при установке библиотеки SQLite

  • @user-fj1hl8rw3v
    @user-fj1hl8rw3v 4 місяці тому

    а как удалить созданную в БД запись?

  • @user-jt3rl4oe6p
    @user-jt3rl4oe6p 3 роки тому

    System.InvalidOperationException: "Тип сущности User не входит в модель для текущего контекста."
    Как исправить эту ошибку?

    • @user-vy3gj3nk6d
      @user-vy3gj3nk6d 2 роки тому

      У меня тоже самое, как исправили ?

    • @evangelinaevangelb4600
      @evangelinaevangelb4600 2 роки тому

      У меня тоже, вы никак не решили?

    • @sezap
      @sezap Рік тому

      а щас кто нибудь понял в чем ошибка?

  • @sanyahladunyk3269
    @sanyahladunyk3269 3 роки тому +7

    Делал всё по видео, и столкнулся с ошибкой SQLiteException: SQL logic error no such table: Clients, хотя таблица с таким названием есть в базе данных. Кто знает, как решить данную проблему?

    • @oleksiireipashi591
      @oleksiireipashi591 3 роки тому

      Попробуй прописать полний путь к бд, в AppConfig

    • @skyrikks7212
      @skyrikks7212 3 роки тому +1

      попробуй добавить базу данных в папку debug в проекте

    • @noname-nf9tn
      @noname-nf9tn 3 роки тому

      Нашли решение?

    • @user-xm5km3om2b
      @user-xm5km3om2b 2 роки тому

      та же проблема

    • @vena225
      @vena225 2 роки тому +1

      connectionString="Data Source=C:\Users\Admin\source
      epos\testProject\testProject\accepted.db" типа так должно быть

  • @kpanat
    @kpanat 10 місяців тому

    Сделать это же но на MS SQL можно за 5 минут и всё будет работать как надо. Но сделать это на SQLite оч сложно! и только не говорите мне что SQLite простая БД...

  • @wad_code
    @wad_code 3 роки тому

    Гоша держит планку

  • @user-fk4so7xr8q
    @user-fk4so7xr8q 7 місяців тому

    не работает код, выбивает ошибку "callback.Invoke(state); System.Windows.Markup.XamlParseException: "'The invocation of the constructor on type 'WpfApp4Лаба.MainWindow' that matches the specified binding constraints threw an exception.' Line number '8' and line position '9'."
    "

  • @_GlebSter_
    @_GlebSter_ 3 роки тому

    Почему то данные записанные в приложении не отображаются в DB browser for SQlite

    • @user-sh6ef2rr3y
      @user-sh6ef2rr3y 3 роки тому

      Решил проблему?

    • @_GlebSter_
      @_GlebSter_ 3 роки тому

      @@user-sh6ef2rr3yда)

    • @user-sh6ef2rr3y
      @user-sh6ef2rr3y 3 роки тому

      @@_GlebSter_ скажи как?

    • @_GlebSter_
      @_GlebSter_ 3 роки тому

      @@user-sh6ef2rr3y я открывал не тот файл, нужно открывать, который находится в приложении в папке debug

    • @_GlebSter_
      @_GlebSter_ 3 роки тому

      Точный путь не помню, если не найдешь, то чуть позже напишу

  • @rustam3543
    @rustam3543 3 роки тому

    А если в таблице 20 полей и каждую описывать get set и тд??

    • @WeCoders
      @WeCoders 3 роки тому

      Да. Просто все надо сделать на MVVM

    • @movietop4313
      @movietop4313 2 роки тому

      Используй реконструирование

    • @kpanat
      @kpanat 10 місяців тому

      @@WeCoders Не ругайся пожалуйста. Тут это неприемлемо...

  • @user-bw5cj5sp5b
    @user-bw5cj5sp5b 5 місяців тому

    Пробовал с нуля раза три все сделать, но все равно не работает, требует первичный ключ, пробовал установить как в одном из комментариев ниже было, искал в интернете, но ничего рабочего не нашел. Так же обратил внимание, что у меня id в User.cs серого цвета, а на видео нет. SQLite Users: EntityType: EntitySet 'Users' is based on type 'User' that has no keys defined

    • @Pr1v_ET
      @Pr1v_ET 4 місяці тому

      Убедись что у тебя свойство "id" в классе User прописано именно как на видео: "public int id { get; set; }". При попытках написать полным свойством или просто полем ругается на отсутствие первичного ключа. Ошибки разные, но суть одна.

  • @user-zk6ji3bc1o
    @user-zk6ji3bc1o 3 роки тому +10

    ты ничего не объясняешь по сути, ты просто показываешь код и говоришь списывать как у тебя. Если хочешь разораться в чём-то, то это явно не сюда.

  • @betnews-8616
    @betnews-8616 3 роки тому

    научился блин... никто теперь не поможет.. как всегда блин

    • @betnews-8616
      @betnews-8616 3 роки тому +1

      System.Windows.Markup.XamlParseException: ""Вызов конструктора для типа "UsersApp.MainWindow", удовлетворяющего указанным ограничениям привязки, привел к выдаче исключения.": номер строки "8" и позиция в строке "9"."

    • @user-tp3mf9xj6o
      @user-tp3mf9xj6o 3 роки тому

      @@betnews-8616 Такая же проблема , решение найдено ?

    • @betnews-8616
      @betnews-8616 3 роки тому

      @@user-tp3mf9xj6o блин да, как-то решил уже не помню, напомни что там и где, подскажу

  • @LionDarkeen
    @LionDarkeen 3 місяці тому

    Найс 2 часа убил из за того что перед названием БД в config забыл точку поставить

  • @daizygod
    @daizygod 3 роки тому

    крайне противоречивое мнение сложилось о данных уроках, если бы не имел представления что такое ООП, я бы не понял почему я сделал всё так же как и в уроке но у меня появилась ошибка, если кому интересно, то у меня менялся текст label ДО того как он создался, а делал я всё по видеоуроку

    • @rainbowskycountris9022
      @rainbowskycountris9022 3 роки тому +1

      Ага, он же в первом уроке говорил - курс не для новичков, а для тех, кто уже разбирается в С#( значит и в ООП) и в WinForms

    • @kpanat
      @kpanat 10 місяців тому

      @@rainbowskycountris9022 WinForms совершенно необязательно знать и XAML так же. Но надо знать XML и C#. И желательно хорошо.

  • @ruslanmikhailov2844
    @ruslanmikhailov2844 Рік тому

    Я двое суток потратил на простенькую ошибку!!!! Твою ж дивизию....
    нужно сразу писать через публичное свойство (именно публичное)
    public id {get; set;}
    не менять ни название поля в базе, ни свойство. гет/сет тоже оба должны быть.

  • @user-mv9ek1rm7i
    @user-mv9ek1rm7i 2 роки тому +2

    этот sqllite редкостное г-но, постоянно исключения и ошибки. под winforms тоже грабли. то одно криво встает, то другое. два дня секса с компом, ну его на уй

    • @kpanat
      @kpanat 10 місяців тому

      У меня было 3 дня но я поборол проблему. Хотя пришлось сделать всё по другому... А как у него всё равно не заработало.. У меня всё время ошибку 50 выдавало. Это том что не найден экземпляр сервера БД . Но какой экземпляр это не серверная БД... Там нет никакого экземпляра. И быть не может. Вобщем бредовая ошибка из которой ничего не ясно кроме одного - не работает...

    • @user-mv9ek1rm7i
      @user-mv9ek1rm7i 10 місяців тому

      @@kpanat у меня все давно заработало