Изучение C# WPF на практике / Урок #5 - Создание базы данных SQLite

Поділитися
Вставка
  • Опубліковано 28 чер 2024
  • Начиная с этого урока мы приступаем к работе над базой данных. В качестве СУБД мы будем использовать SQLite. За урок мы создадим базу данных, добавим в неё таблицу и подключим БД к нашему WPF проекту.
    ✅ Полезные ссылки:
    1) Урок на сайте itProger: itproger.com/course/csharp-wpf/5
    2) Программа для SQLite: sqlitebrowser.org/
    ⏰ Тайм-коды:
    00:00 - Начало
    01:25 - Добавление библиотеки SQLite
    02:19 - Программа для SQLite
    03:08 - Создание базы данных
    03:36 - Создание таблицы
    07:26 - Подключаем БД к проекту
    10:20 - Класс-модель для работы с таблицей Users
    14:49 - Создание контекста. Класс для работы с БД
    19:00 - Заключительная часть
    ✔ Сообщество программистов: itproger.com/
    ✔ -------------
    Вступай в группу Вк - prog_life 🚀
    Группа FaceBook - goo.gl/XW0aaP
    Инстаграм itProger: / itproger_official
    Instagram: / gosha_dudar
    Telegram: t.me/itProger_official
    Twitter - / goshadudar
    - Уроки от #GoshaDudar 👨🏼‍💻
    - Все уроки по хештегу #goshaLessons

КОМЕНТАРІ • 81

  • @kaermorhen8373
    @kaermorhen8373 3 роки тому +44

    Сам код для App.config

    • @user-ok7je6mq9k
      @user-ok7je6mq9k Рік тому +2

      Вот за это спасибо! Автор не подумал, а ты красава

    • @user-ey5gv7mf3c
      @user-ey5gv7mf3c Рік тому

      спасибо Вам огромное!

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

      Человек с большой буквы блять, спс, ато наш Гошан не подумал на три года вперед, а сайт уже не работает)))))))))

  • @user-yn6np8xi7k
    @user-yn6np8xi7k 3 роки тому +17

    Григорий, спасибо за урок. Класс User называют так не из-за хорошего тона, а потому что он описывает ОДНОГО пользователя. В случае с таблицей в БД другая ситуация. Таблица содержит набор записей (множество, или коллекцию пользователей), поэтому таблицу в БД называют в множественном числе, т.е. Users.

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

    Спасибо за ролик!

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

    у меня файла App.config нету

  • @user-iq6xb3ne1h
    @user-iq6xb3ne1h Рік тому +1

    ура нормальный человек который обяснил как делать

  • @kyurembog1985
    @kyurembog1985 3 роки тому +27

    Было бы интересно именно использование ms sql server

    • @OlegVolgin
      @OlegVolgin 11 місяців тому +1

      Бесстрашный ты...

  • @alador00
    @alador00 3 роки тому +13

    На счет БД замечание. Поля User и Email, должны быть уникальными.

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

      Вобще это лишь небольшая часть данных. Диалог регистрации это вобще-то административная часть и она не должна запускаться и выполняться кем угодно... Но юзер должен иметь возможность сам поменять пароль для него должна быть возможность просмотра...

    • @Covid-om4fn
      @Covid-om4fn 8 місяців тому

      почему так?

  • @oxxxsy
    @oxxxsy 3 роки тому +5

    а почему unique не юзаем на Логине и Мейле, ежели обычно они повторяться не должны

  • @ilizzium1241
    @ilizzium1241 Місяць тому +1

    У кого нет App.config = правой кнопкой в обозреватели решений на видео это с право(UsersAPP) => выбираем добавить и ищем название "Файл конфигурации приложения "
    . создаем. радуемся

  • @marko_andrukhiv
    @marko_andrukhiv 3 роки тому +6

    Привіт! До речі я визначив супер секретними даними що ти знаєш українську

  • @user-xl5gi5kx7y
    @user-xl5gi5kx7y 3 роки тому +1

    Привет Гоша. Сделай пожалуйста курс по flutter

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

    Лучший

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

    Подскажите пожалуйста , что делать, если нет файла в обозревателе решений - App.config ?

    • @iliaskadyrbekov1312
      @iliaskadyrbekov1312 3 роки тому +6

      Когда создавали проект надо было выбрать Приложение WPF (.NET Framework) вместо WPF App (.NET)

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

      @@iliaskadyrbekov1312А под .NET6.0 как реализовать подключение к базе данных?

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

    Скажите пожалуйста, что писать в app.config, если я использую WPF .Net core 3.1 ???

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

    привет. Какой ноутбук ты используешь для работы??

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

    Я думал будет Sql Server

  • @mihailcorstunov6016
    @mihailcorstunov6016 3 роки тому +5

    10 минут пытался понять, почему у меня "дополнительно", а Гоши "додатково", только в конце понял, что языки у прог разные стоят XD

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

    У меня 29 ошибок при установке пакета SQlite и 18 предупреджений....(((
    Пакет, собака не установился, в app. config не добавились новые строки😔

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

    Делал все по видеоуроку,но когда я свою базу данных добавляю в проект пишет что двоичные символы и она не добавляется ,как это решить ?

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

    Можно посмотреть, сделав от книги перерыв

  • @user-rc1yn8kk2p
    @user-rc1yn8kk2p 3 роки тому +5

    Если у кого будет проблема как у меня - подсказываю
    у меня горело красным Entity, два дня морочился
    переустанавливал, гугли и тп
    выход - удалили Entity Framework последней стабильное версии, установил весрию 6.0.0

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

    Тут уже писали, у меня такая же проблема, нет файла app config изначально, я создала его, делала все как в видео показано и при запуске приложения выдаётся ошибка.. Мда уж

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

      При создании проекта ты выбрала платформу Net.Core , а надо было Net.Framework. Зайди в установщик студии и подкачай библиотеки, если нет создания wpf на framework

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

    сделай туториал по cocos 2d

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

    А что конкретно делает пустой конструктор в классе, описывающем модель данных? Я делал много раз без пустых конструкторов.

    • @nikitaanishenco7942
      @nikitaanishenco7942 8 місяців тому

      Тут имелось ввиду, что если сделать один конструктор и другой конструктор с параметрами, то можно создавать объекты класса как с параметрами так и без, чтобы легче было использовать объекты.

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

    Да да дааа, почти первый комент😂

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

    А как точно так же сделать с MS SQL Server ?

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

      Проблемы возникают как раз с SQLite. С MS SQL всё легко и просто и проблем нет. И в этом смысле неинтересно.... Просто бери и работай . Там и Entity тоже есть...

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

    Странно, но у вас 2 провайдера с совершенно одинаковыми типами но разными названиями. что несущественно.

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

    Ужас) Еще неск лет назад с WinForms научился скачивать dll с сайта разработчика-СУБД, потом добавлять в проект, коннектится к БД, писать функции с явными SQL-запросами, а тут показывают концепцию Spring-java из enterprise)

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

    в моем прокте постоянно одна и таже ошибка хотя ключи все прописал правильно
    System.Data.Entity.ModelConfiguration.ModelValidationException: "One or more validation errors were detected during model generation:
    Brook_ToolCSharp.Program: : EntityType 'Program' has no key defined. Define the key for this EntityType.
    Programs: EntityType: EntitySet 'Programs' is based on type 'Program' that has no keys defined.
    "

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

      Самое интересное что даже если удаляешь файл DB таже ошибка как будто не видит ФАЙЛ но путь в конфиги поменял ./DB.db в чем может быть проблема?

    • @megachel.mp4
      @megachel.mp4 2 роки тому

      @@iliyabrook2933 тоже самое, решил вопрос?

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

    Как сделать с 2 и более табоичками

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

      Что и где нужно прописывать

  • @user-uj8wf5qy2o
    @user-uj8wf5qy2o 3 роки тому +1

    Перетаскиваю файлик внутрь проекта и... Ничего не происходит. На этом обучение заканчивается((

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

      Не узнал, как исправить?

    • @user-uj8wf5qy2o
      @user-uj8wf5qy2o 3 роки тому +1

      @@user-bg8cw8qp4p На этапе создания проекта выбераешь не NET.Core, а NET.Framawork. Версия не выше 4.8. И все работает, все подключается. Я так понял свежие версии еще не доработанные и не содержат весь функционал.

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

      @@user-uj8wf5qy2o В общем перешёл на .netFramework 4.7.2, а добавил вручнуюю (главное не забыть тип файла поставить). P.S. В любом случае спасибо за ответ

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

    У меня эксепшн System.TypeInitializationException когда "DefaultConnection" в конструктор вставляю..

  • @FreePopka
    @FreePopka 3 роки тому +3

    *Добрый день, я очень сильно хочу стать программистом и создавать приложения! С чего мне начать? Я только начинаю учиться программированию, пожалуйста помогите*

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

      Учись сам этому человеку насрать на подписчиков.
      Ну а так вот тебе 3 приложения сам выбери через что будешь делать:
      Appery.io.
      Mobile Roadie.
      TheAppBuilder.

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

      С базы блин.
      Учишь как работает компьютер, как в памяти представляются штуки, затем учишь синтаксис, в процессе делаешь всякие аккадемические штуки, типа своих реализаций всяких алгоритмов и структур данных(банальные сортировочки, поиски, всякие связные списки, очереди, деревья, покраска этих деревьев, балансировка и т.д.), затем переходишь к попыткам писать что-то полезное, паралельно изучаешь ООП(под ООП понимается не сама концепция, а все эти SOLID, паттерны и прочее). Ну, и на выходе ты через годик-два активного изучения - становишься программистом, который без проблем может идти работать трейни или джуном, за 11к рублей. Может быть даже быстрее, если будешь стараться.

    • @user-nd5lx4st2g
      @user-nd5lx4st2g 3 роки тому +7

      Я как студент учащийся на программиста могу посоветовать, начать с языка С++ или С#. Поначалу учи синтаксис и делай консольные приложения. Потом разобравшись с основными принципами и понятиями переходи на GUI такие как Windows Forms и WPF. Изучив один из этих языков и GUI ты уже можешь писать полноценные программы. Дальше изучай фреймворки типо ADO.NET, учи теорию баз данных и язык запросов SQL. По путно делай какие-то аналоги известных программ (типо программа для ведения каталога магазина, скайп и т.д.), игры (но в тех же Forms, WPF, без всяких движков unity, ведь тебе нужно практиковать навыки программирования, а не бездумно двигать фигурки по координатам), попутно изучай паттерны проектирования. Я обещаю это будет очень увлекательный, но сложный путь. Плюс с такими программами утебя может быть неплохое "партфолио". Таким образом со временем ты будешь разбираться в программировании и дальше сам поймёшь в какую из отраслей мира программирования тебе направлятся.

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

      Пайтон начни хоть я и розроботчик игр, но Пайтон больше подойдёт

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

      @@khos_streks2 Руби попробуй или Хаскель... Если разберёшься в этом то все остальные ЯП будешь как орешки щёлкать...

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

    Я так и не понял, это MVC или MVVM шаблон был применен ?

  • @jiofef
    @jiofef Рік тому +2

    Для тех у кого проблемы с defaultConnection, app config и т.д.: этот туториал устарел. На metanit недавно обновлялись статьи на эту тему, там всё рабочее, я проверял

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

      У меня VS2019. Туториал рабочий. И это как я понял реализация MVC шаблона. А на метаните прямое обращение к БД . ТИПа using (var connection = new SqliteConnection("Data Source=usersdata.db"))

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

      @@Bont1860 мб 11 месяцев был. Сейчас не работает и мне не удалось добиться работы. Пытаюсь найти решение...

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

      @@kpanat нашли?

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

      @@kpanat удалось найти решение?

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

    Как я понял просто копия урока с metanit

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

      дай ссылку на этот урок. НА метанит я не нашел такого урока

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

    У кого-нибудь возникала проблеа с .db файлом? Тип, при попытки открыть файл он тк и должен перебрасывать меня на двоичныйредактор?

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

      Так же файл конфиг создаётся в момент создания прокта? Так как у меня нет его вовсе(. (Я его ручками создал)

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

    курс норм, но зачем вынуждать заходить на сайт ради копии конфига

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

    .db не працював
    закинув .db3 - запрацювало

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

    А он лёгких путей не ищет... Да...

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

    Зачем юзать SQLite

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

      Это я тоже не понял. Хотя там есть аргументация но она неубедительна... Потому что если вы делаете базу юзеров то это уже по сути удалённая база общего доступа и она не мб встроенной в программу. Там можно хранить только какие-то настройки или ресурсы... но не данные клиентов...

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

    Хаха я 10й хаха

  • @Bont1860
    @Bont1860 Рік тому +2

    Автор запретил доступ к сайту с IP РФ... мда, это перемога конечно) .

    • @reddog-yt
      @reddog-yt 4 місяці тому

      Вижу не очень шаришь. Тебя не смутило что хост сам мог это сделать?

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

    Конечно, поле с датой, ни кому не нужно... Вообще про дату и время не надо ни когда рассказать.

  • @user-vu4zh3te5f
    @user-vu4zh3te5f 3 роки тому +1

    зачем нужен локальный бд... Как юзать mysql в онлайне... Зачем нужна локальная бд... она бесполезна