VC#. Работа с базой данных из DataGridView. Select, Insert, Update, Delete. Урок 31

Поделиться
HTML-код
  • Опубликовано: 17 фев 2020
  • Поддержать проект - www.donationalerts.ru/r/bytepp
    В этом уроке вы узнаете как работать с базой данных из DataGridView. Мы научимся добавлять данные через datagridview, редактировать данные через datagridview и узнаем как удалить данные из datagridview. В ходе занятия будет идти работа c MS Sql Server.
    Подписывайтесь на канал, ставьте лайки, задавайте вопросы в комментариях!

Комментарии • 187

  • @jeremysoma
    @jeremysoma 3 года назад +102

    Чел, храни тебя господь, как бы я без твоих видосиков курсач написала

    • @user-lw6xc9go4v
      @user-lw6xc9go4v 3 года назад +3

      Прям жизненно

    • @Sarutobi_Asuma
      @Sarutobi_Asuma 3 года назад +6

      @@user-lw6xc9go4v аналогично, сейчас пишу.

    • @denzeroneYT
      @denzeroneYT 2 года назад

      @@Sarutobi_Asuma +

  • @germangentile735
    @germangentile735 2 года назад +13

    Человек опередивший систему образования на 100 лет вперед. Спасибо за помощь с курсовой)

  • @user-md1bz9rz6v
    @user-md1bz9rz6v 3 года назад +4

    За эти полчаса я понял по БД больше, чем за весь курс и за неделю смог написать практику на 5. Спасибо

  • @Rublev_m
    @Rublev_m 4 года назад +16

    очень, очень надо продолжение )) Очень очень!!! Надеюсь тебе удастся сделать на этой неделе!!!

  • @kirillpimenov910
    @kirillpimenov910 4 года назад +5

    Большое спасибо за полезную информацию.

  • @margaritapaltseva893
    @margaritapaltseva893 3 года назад +8

    Спасибо тебе огромное! Все по факту и по существу. Не видать мне диплома без этого урока

    • @Bytepp
      @Bytepp  3 года назад +1

      Пожалуйста)) рад, что понравилось

  • @maxlight7742
    @maxlight7742 4 года назад

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

  • @user-pw3cz2vy9q
    @user-pw3cz2vy9q 4 года назад +1

    Лучший видос на эту тему!

  • @xenus4707
    @xenus4707 4 года назад +11

    Годнота, как раз курсач пишу)

  • @VolodymyrChe
    @VolodymyrChe 2 года назад +1

    Топ видео по теме. Очень интересный канал👍

  • @madrinn854
    @madrinn854 3 года назад +14

    Брат, спасибо, ты меня спас от отчисления

    • @Bytepp
      @Bytepp  3 года назад

      Это замечательно)) поздравляю 😎

  • @VanekYAR
    @VanekYAR 2 месяца назад

    Благодарю за урок. Лабораторную помог сделать

  • @user-or1io3bf6m
    @user-or1io3bf6m 3 года назад

    Очень полезная информация.

  • @sergpolyanskiy2337
    @sergpolyanskiy2337 3 года назад +1

    Простое человеческое спасибо!

    • @Bytepp
      @Bytepp  3 года назад

      Пожалуйста))

  • @user-wq9hg1kc6c
    @user-wq9hg1kc6c 3 года назад +1

    Спасибо! Лайк И Подписка! Хороших новых уроков Автору!

    • @Bytepp
      @Bytepp  3 года назад

      Спасибо) прекрасное пожелание, благодарю))

  • @AlexBikeChannel
    @AlexBikeChannel 2 года назад +1

    Вообще супер, долго искал толковую инструкцию

    • @Bytepp
      @Bytepp  2 года назад

      Благодарю

  • @user-hk5bi1lo6s
    @user-hk5bi1lo6s 4 года назад +2

    Спасибо. Хорошее видео.

  • @feelson
    @feelson 3 года назад +9

    Твой видос помог понять тему за 30 минут лучше, чем в шараге за 627385 пар.

    • @Bytepp
      @Bytepp  3 года назад +4

      Очень рад))

    • @BlendLogDev
      @BlendLogDev 3 года назад +1

      за INT_MAX пар*

  • @SIKARIIY
    @SIKARIIY 4 года назад +3

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

    • @Bytepp
      @Bytepp  4 года назад

      Классно 👍

    • @SIKARIIY
      @SIKARIIY 4 года назад

      @@Bytepp А можете еще кое что подсказать, я хочу взять бб как приложение, открываю его на ноуте и выходит ошибка с текстом "unhandled exception has occurred in your application". Что может быть не так?

  • @SHKIPPER989
    @SHKIPPER989 4 года назад +6

    супер, то что надо!_)

  • @user-on9hc7ry1i
    @user-on9hc7ry1i 3 года назад +1

    Мужик - ты лучший =)

    • @Bytepp
      @Bytepp  3 года назад

      От души))

  • @user-db3pe1ub5i
    @user-db3pe1ub5i Год назад

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

  • @aleksandrchucherov5429
    @aleksandrchucherov5429 4 года назад +2

    Спасибо, помог

  • @darak3898
    @darak3898 2 года назад +1

    спасибо, вы меня спасли

    • @Bytepp
      @Bytepp  2 года назад

      Очень рад))

  • @Rublev_m
    @Rublev_m 4 года назад +2

    Поддерживаю, очень надо!!! И еще добавить ComboBox

    • @user-im6lx5yb7e
      @user-im6lx5yb7e 4 года назад

      А что в комбике должно быть?

    • @Rublev_m
      @Rublev_m 4 года назад

      @@user-im6lx5yb7e DataGridComboBoxColumn позволяет пользователям выбрать элемент из раскрывающегося списка

    • @user-im6lx5yb7e
      @user-im6lx5yb7e 4 года назад +1

      @@Rublev_m а, ты имеешь в виду комбик в гриде. не правильно понял))

  • @DENDYTWOO
    @DENDYTWOO 3 года назад +2

    Привет. Спасибо за видео, вижу тут многих оно спасло) я новичок, было интересно смотреть, но мало что было понятно. Надеюсь после пары просмотров освою информацию .

    • @Bytepp
      @Bytepp  3 года назад +1

      Посмотри этот плейлист, если новичок в базах данных Базы данных для C# программиста: ruclips.net/p/PLH3y3SWteZd1oBVuI7mIGsk5psiCb4teB

  • @user-dh5qs9xt5h
    @user-dh5qs9xt5h Год назад +1

    Было бы полезно соединять ролики, и, например, для кнопки "Обновить" добавить функционал обновления графика при внесении данных в базу. А то чет инфы в интернете про это вообще нету. И получается, для обновления графика надо закрыть и заново открыть приложение, тогда кнопка становится по факту бесполезной, как и кнопка "Построить график". Че его строить по кнопке, если можно сразу выдавать и будет тоже самое. А так урок классный, спасибо большое автору за его труд

  • @Imperion25
    @Imperion25 4 года назад +24

    Здорово! Не могли бы вы записать такой же ролик, но если бы у нас была не 1 таблица, а несколько связанных таблиц. Было бы интересно посмотреть.

    • @Sacar666
      @Sacar666 4 года назад +5

      Поддерживаю)) В студию топ контент))

    • @user-im6lx5yb7e
      @user-im6lx5yb7e 4 года назад +5

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

    • @lalityray6908
      @lalityray6908 3 года назад

      @@user-im6lx5yb7e не нашел инфы ?

    • @lalityray6908
      @lalityray6908 3 года назад

      не нашел инфы ?

    • @FORTUNATV_game
      @FORTUNATV_game 3 года назад

      @@lalityray6908 не нашли ответ ?

  • @user-dh5qs9xt5h
    @user-dh5qs9xt5h Год назад

    А как же кнопка файл))) Забыли про нее. Урок классный!

  • @ultimate98
    @ultimate98 2 года назад +2

    Андрей, подскажите пожалуйста, как мне сделать, что бы эти функции распространялись еще и на таблицы (дата гриды) на соседних таб-панелях? У меня три таблицы в БД, каждую из которых нужно править такими способами.

  • @FREEPNZ
    @FREEPNZ 4 года назад +2

    Как пофиксить нажатие Enter при Update? Т.е. я внёс правку и нажимая update в бд данные не уходят, пока не нажмёшь перед этим enter.
    И ещё вопрос, хочу показать из таблицы не все поля, вылетает ошибка "Динамическое создание SQL для UpdateCommand не поддерживается для SelectCommand, ..."

  • @Igroky
    @Igroky 8 месяцев назад +1

    Будет ошибка incorrect syntax near the keyword User, то просто поставьте где SELECT [User] - квадратные скобки

  • @Shigatse_Hughes
    @Shigatse_Hughes 3 года назад

    случайно нашел видос и он очень кстати, спасибо за работу! Хотел бы только уточнить, вы делаете обновление/удаление через 7 колонку, можете подсказать возможно ли сделать допустим через + (добавление) - (удаление) /(редактировать) добавив 3 кнопки рядом с "обновить" или это лишняя работа и проще так как у вас?

  • @saikiri9453
    @saikiri9453 3 года назад +1

    При прописывании строк:
    e. Control.KeyPress -= new KeyPressEventHandler(Column_KeyPress);
    textBox.KeyPress += new KeyPressEventHandler(Column_KeyPress);
    Выводит 2 ошибки:
    "Нет перегруженного метода для "Column_KeyPress", который соответствует делегату "KeyPressEventHandler".
    "KeyEventArgs" не содержит определения "KeyChar" и не удалось найти доступный метод расширения "KeyChar", принимающий тип "KeyEventArgs" в качестве первого аргумента (возможно пропущена директива using или ссылка на сборку).
    Получается что у меня "валидация" для колонки не работает из-за этого, а все остальное нормально, подскажи что делать?

  • @berkshum239
    @berkshum239 2 года назад +1

    Как сделать также, но чтобы работа шла с базой данных находящейся на сервере? Например localhost

  • @amiryanch
    @amiryanch Год назад

    Вопрос, при внесении данных в базу, обязательно нужно нажать на enter, как обойти это, чтобы без нажатия на enter, сразу сохранилось все

  • @yugen9089
    @yugen9089 2 года назад

    Где исходник кода можно посмотреть ?

  • @maxlight7742
    @maxlight7742 4 года назад

    Можно ли заменить AttachDbFilename (метод который получает полный путь к базе данных) на метод, который не требует полного пути?
    Просто если отправлять кому-то весь проект, то ему придется собственноручно менять во всех (в моем случае 6) формах AttachDbFilename= на его полный путь к базе данных
    (К примеру у меня AttachDbFilename=C:\Users\Максим\source
    epos\... , у других в "загрузках" )

  • @uokey1478
    @uokey1478 2 года назад

    Спасибо! Не могли бы вы, куда нибудь оставить код этой программы?

  • @sudo8709
    @sudo8709 2 года назад +1

    Нет перегруженного метода для "Control.KeyPress", который соответствует делегату "KeyPressEventHandler".

  • @BRUSSWARKOSXCORD
    @BRUSSWARKOSXCORD 3 года назад

    у меня такой вопрос
    как вывести ЭКСЕЛЬ в дата грид вьюз на С ШАРПЕ я понял
    но мне еще нужно чтобы шло сравнение например из эдита с значениями такого то столбца
    типа настройки:
    если там во втором столбце значения таблицы соответствуют значению в эдит например в эдит я записал 200 и в экселе во втором столбце стоят 200 то все норм
    если я взял и поменял значение там 3 ячейки 2 столбца то выводится либа меседжом либо там в мемо или лабел сообщение что там столбец такой строка такая не соответствуют заданным параметрам
    КАК ЭТО СДЕЛАТЬ

  • @user-lu3cf5ju6w
    @user-lu3cf5ju6w Год назад

    Добрый день, застрял на функции добавления строки. Когда запускаю приложение, при вводе строки в колонке id стоит -1 и при нажатии insert появляется ошибка, как это исправить?

  • @puser-yh9lv7kl1h
    @puser-yh9lv7kl1h 3 года назад +3

    Все бы хорошо, почему то update не проходит

  • @user-uy5fu4yy1x
    @user-uy5fu4yy1x 4 года назад

    Не пойму в чем дело,когда удаляю строку появляется ошибка "database is locked",хотя когда на другой форме добавление работает(SQLite)

  • @blueberryhouse1580
    @blueberryhouse1580 4 года назад +3

    Большое спасибо за видео! Но возникла проблема на моменте с удалением строки. Вылезает ошибка "Ссылка на объект не указывает на экземпляр объекта". Строчка удаляется, но потом снова появляется при перезапуске. В отладчике поймала на строчке dataSet.Tables["Users"].Rows[rowIndex].Delete();
    При этом Rows.Count = 4, а rowIndex выбранной строки (второй) равен 1, то есть по идее всё должно работать, но почему-то не работает. В чём может быть причина?

    • @NuarSP
      @NuarSP 8 месяцев назад

      Такая же проблема

  • @stepanyamanaev9530
    @stepanyamanaev9530 3 года назад

    Добрый день! При адаптации Вашего подхода к моей задаче, на строке, аналогичной Вашей 126 (время 20:19, события формы) у меня возникает ошибка при компиляции: cs1001, требуется идентификатор. Пока не знаю как проблему победить.

    • @stepanyamanaev9530
      @stepanyamanaev9530 3 года назад

      Упс, очепятка, благодарю за Вашу просветительскую деятельность

  • @jeddaniels9768
    @jeddaniels9768 2 года назад

    ахаха. Хелпанул с курсовой шо ппц!!

  • @XBIPTKA
    @XBIPTKA 3 года назад

    Привет,можешь подсказать пожалуйста,как мне вывести в один datagridview 3 таблицы из mysql?Или как это можна зделеть другим способом?Буду очень благодарен если ответишь)!

  • @user-ri4yg9ic1t
    @user-ri4yg9ic1t Год назад

    Объясните пожалуйста почему у меня нет data grid view вообще только старый data grid , как поставил нет кор 3.1 сразу исчезло и незнаю какая из галочек отвечает за появление этого элемента вновь

  • @antonradochin5494
    @antonradochin5494 2 года назад

    Где взять исходник?!

  • @19dimkin86
    @19dimkin86 3 года назад

    возможно всё вот это в mvc написать?

  • @sudo8709
    @sudo8709 Год назад

    А как сделать чтобы для сохранения таблицы при изменении ячейки в БД не надо было нажимать на Enter или кликать на ячейки других строк? Это не интуитивно, что update появляется сразу при вводе, а работает он только если нажать на любую ячейку, кроме ячеек текущей строки. Надо, чтобы update работало сразу.

  • @sudo8709
    @sudo8709 2 года назад

    У меня если нажать "Обновить" не меняя таблицу, в столбце Delete перестают появляться ссылки-кнопки.

  • @nickynick9562
    @nickynick9562 4 года назад

    Хороший гайд, все работает, но вот только не понял что за валидация и зачем она?

    • @Bytepp
      @Bytepp  4 года назад +2

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

  • @86werth
    @86werth Год назад

    Как организовать поиск(filter )по таблице datagreedview без базы данных???

  • @finemechanic
    @finemechanic 3 года назад

    Как-то всё очень не канонично. DataGridView может сама редактировать, вставлять, удалять записи в DataTable, для этого не нужно писать свой код. По крайней мере, если используется BindingSource в качестве посредника. Для валидации тоже есть встроенные механизмы.

  • @legavr4734
    @legavr4734 2 года назад +2

    А можно сделать так же, но для двух таблиц в двух разных datagridviewи что бы конфликтов не было?

    • @NuarSP
      @NuarSP 8 месяцев назад

      У меня такой же вопрос, т.к. у меня при допустим, удалении строки всплывает ошибку, что нет ссылки на объект
      А сама ошибка происходит в строчке dataSet.Tables[table_name].Rows[rowIndex].Delete();
      Я пытаюсь сделать это с иной формы, все методы удаления, обновления и добавления я сделал в отдельном классе, а потом использую эти методы во всех остальных формах, и в этом случае у меня появляется ошибка, не могу решить её(

  • @mrmalebase7531
    @mrmalebase7531 3 года назад

    у меня проблема появилась
    есть архив с этой программной? или ответь в вк

  • @dastannasirdinov5660
    @dastannasirdinov5660 3 года назад

    спасибо, такой вопрос как можно добавить регулярные выражения для проверки вводимых данных?

    • @Bytepp
      @Bytepp  3 года назад

      Я не пробовал, но, думаю, что можно привязать код с проверкой к событию добавления текста либо ещё к какому-нибудь, которое тебе больше подойдёт)

    • @dastannasirdinov5660
      @dastannasirdinov5660 3 года назад +1

      @@Bytepp я все таки смог добавить)

  • @tennisfan7369
    @tennisfan7369 2 года назад

    А почему нумерация id идет не по порядку после внесения изменений? Нельзя это как-то исправить?

    • @Bytepp
      @Bytepp  2 года назад

      Идентификаторы уникальные, так как вставлен primary key identity

  • @user-hm1gd5ms3o
    @user-hm1gd5ms3o 3 года назад

    Кто-нибудь подскажет, как исправить "программа не содержит статического метода "Main" подходящего для точки входа", все делал как в видео, переделываю 3 раз, но все ровно ничего не работает.... Помогите

  • @user-zt6zy7kq7y
    @user-zt6zy7kq7y 3 года назад

    20:16 А можно не создавать DataRow и вписывать туда значения для каждого столбца, потом в добавлять row в dataSet ? Вот отредачили dataGrid, из него достаём dataGridView1.DataSource, добавляем в dataSet.Tables и вызываем sqlAdapter.Update(dataSet, "Table"). Получится что-то вроде такого:
    DataTable table = (DataTable)dataGridView1.DataSource;
    dataSet.Tables.Clear();
    dataSet.Tables.Add(table);
    sqlAdapter.Update(dataSet, table.TableName);
    И можно вообще не делать кнопки для добавления, изменения и удаления. Можно просто одну кнопку сделать "Сохранить", и всё

    • @user-zt6zy7kq7y
      @user-zt6zy7kq7y 3 года назад

      Есть вариант ещё проще:
      int a = SqlDataAdapter.Update(dataSet, TB_ANKETS);
      MessageBox.Show($"Обновлено строк: {a}", "Уведомление");
      и не нужно писать дополнительный код для добавления\изменения\удаления

    • @NuarSP
      @NuarSP 8 месяцев назад

      Спасибо, ты спас меня
      Очень помог с ошибкой, когда отсутствовала ссылка на объект в строке
      dataSet.Tables["Users"].Rows[rowIndex].Delete();
      Если вы до сюда долистали, то вот ваше спасение

  • @azaliyakaush1743
    @azaliyakaush1743 2 года назад

    Добрые день, ошибка в sqlConnection не работает, как решить ?

    • @Bytepp
      @Bytepp  2 года назад

      Проверить подключение

  • @viteralex
    @viteralex 2 года назад

    Почему не использовался BindingSource?

    • @inunravel9
      @inunravel9 2 года назад

      потому что его нужно подключать отдельно, а как это делать другой вопрос

  • @nikitaalecseev7837
    @nikitaalecseev7837 3 года назад

    У меня выдает исключение "You have an error in your syntax, '[Delete] FROM users' at line 1"

    • @Bytepp
      @Bytepp  3 года назад

      Зачем Delete в []?

  • @SkyliNe_52
    @SkyliNe_52 3 года назад

    dataGridView не отображает таблицу, хотя делал по примеру, как быть?

    • @Bytepp
      @Bytepp  3 года назад

      Перепроверить всё)) начать с подключения к БД))

    • @user-xz9rp9mz2y
      @user-xz9rp9mz2y 2 года назад

      привет! нашел решение? прошел 1 год..

  • @maxlight7742
    @maxlight7742 4 года назад +1

    Я нашел незамысловатый "баг" который ломает все данные, если перед тем как изменить данные, отсортировать их по нажатию на HeaderColumn, то данные немного "поплывут" и некоторые заменятся а некоторые пропадут, берите это во внимание если у вас нужно будет работать с большим количеством данных.

    • @user-en4wn3eo1h
      @user-en4wn3eo1h Год назад

      Столкнулся с такой же проблемой , есть способ тут это пофиксить?

  • @libelli2695
    @libelli2695 3 года назад

    А есть видео как добавить сюда не локальную базу данных, а уже имеющуюся? Просто когда подключаю стороннюю мне выдает ошибку "ключевое слово Provider не поддерживается" и "index должен быть положительным числом"

    • @Bytepp
      @Bytepp  3 года назад

      В этом видео есть информация ruclips.net/video/yTwgAgogV-M/видео.html

    • @muk-07-07
      @muk-07-07 2 года назад

      @@Bytepp Provider - это для OleDbConnection а не SqlConnection

  • @akkerstone
    @akkerstone 3 года назад

    Можно ли сделать так, чтобы нумерация строк, которая находится в столбце id, автоматически становилась соответственной своему расположению. Просто при удалении к примеру 4-ой конечной строки и создании новой, номер строки будет уже не 4, а 5. А хотелось бы, чтобы было всё также 4!

    • @Bytepp
      @Bytepp  3 года назад +1

      Если у тебя ID уникальное и авто инкриминируемые, то они каждый раз будут новые у каждой строки

    • @akkerstone
      @akkerstone 3 года назад

      @@Bytepp Теперь понял, спасибо)

  • @user-kl4dh4jd9r
    @user-kl4dh4jd9r 4 года назад

    Здравствуйте
    я работаю на visual studio 2012 и к сожалению данный запрос:"Select * from `department`, 'delete' AS [Delete]", db.getConnection()); у меня вызывает ошибку: you have an error in your sql syntax; check the manual that corresponds to your mysql server version for right syntax to use near ''delete' as [delete] at line 1
    Может кто-нибудь подсказать как оформить запрос, чтобы ошибки синтаксиса не срабатывало? Спасибо

    • @user-kl4dh4jd9r
      @user-kl4dh4jd9r 4 года назад +3

      "Select *, 'Delete' as `Command` from department"

    • @user-kl1zt8jn7i
      @user-kl1zt8jn7i 4 года назад

      [delete] или [Delete] должно помочь вместо delete в запросе

    • @plamenkostov3722
      @plamenkostov3722 4 года назад

      'delete' AS `Delete`

  • @user-xi3rr2ff3o
    @user-xi3rr2ff3o 3 года назад

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

    • @Bytepp
      @Bytepp  3 года назад

      Привет) А что в таблице происходит? Там есть id у каждой строки? Возможно в коде напутал что-то

    • @user-xi3rr2ff3o
      @user-xi3rr2ff3o 3 года назад

      @@Bytepp при добавлении данных, первая колонка сама не заполняется как у тебя на видео. Id только у первой колонки с индексом 0. Если ее не заполнить самому то выскакивает ошибка

    • @user-xi3rr2ff3o
      @user-xi3rr2ff3o 3 года назад

      @@Bytepp мне нужно где в коде идёт счётчик (или что там у тебя) присвоения id для каждой вновь добавленной строки

  • @ionianblade5286
    @ionianblade5286 2 года назад

    Все функции программы работают исправно , но после перезапуска программы данные не сохраняются в базе данных .

    • @Bytepp
      @Bytepp  2 года назад

      Проверь сохраняешь ли ты все изменения после добавления данных

  • @Ansagan_kz
    @Ansagan_kz 7 месяцев назад

    Здравствуйте я всё правильно написал но не работает😢

  • @Daniel-tp4cp
    @Daniel-tp4cp 3 года назад +1

    "требуется инициализировать свойство DataAdapter.SelectCommand/Connection" вот такую ошибку выдает при попытке при пуске формыюЧТО ДЕЛАТЬ?

    • @Bytepp
      @Bytepp  3 года назад

      проверь для начала открыто ли подключение к бд и всех ли классов ты создал экземпляры

    • @Daniel-tp4cp
      @Daniel-tp4cp 3 года назад

      @@Bytepp состояние у бд:открытое.Канал подключения к бд тоже открыт,всепланетной выдаёт эту ощибку

    • @Bytepp
      @Bytepp  3 года назад

      Значит надо гуглить эту ошибку))

    • @Daniel-tp4cp
      @Daniel-tp4cp 3 года назад

      @@Bytepp всетаки получилось))проблема была в методе по загрузке данных,написал код без метода в событья и теперь при загрузке формы(в это событья) написал код по загрузке данныхю.Все работает кроме операции Update.Переписал код два раза и ничего не помогает.В последний столбец при изменения значение отоброжается ,,,Update"" но при наэжатие значение меняется на ту при который она добавилась изначально.В чем проблема может быть?

    • @Daniel-tp4cp
      @Daniel-tp4cp 3 года назад +1

      Все нашел XD и все работает.Спасибо огромное))

  • @user-no-life
    @user-no-life 3 года назад +1

    Блин пишет индекс вне диапазоне значения(

    • @andreydrozdov6220
      @andreydrozdov6220 3 года назад

      Потому что отсчёт начинается с 0,1,2...

  • @logangrimnar3042
    @logangrimnar3042 3 года назад

    Не добавляется новый столбец с Delete. Пишет, что выхожу за границы. Что делать?

    • @Bytepp
      @Bytepp  3 года назад

      Проверь внимательно туда-ли ты его добавляешь и также проверь счётчики в цикле

    • @logangrimnar3042
      @logangrimnar3042 3 года назад

      @@Bytepp Все так как на видео, единственное, что я привязал SQL Server, где у меня лежит БД, к проекту. С индексами все норм, т.к. если я поставлю индекс столбца, который у меня есть, то он переделывает текст в тех ячейках в linklabel

    • @makensoqweqwe9592
      @makensoqweqwe9592 3 года назад

      Как исправили?

    • @nnllxq
      @nnllxq Год назад

      Как исправили?

  • @PDAproduction
    @PDAproduction 3 года назад +1

    В можно весь код из видео 🤣

  • @user-fq1gh2em6w
    @user-fq1gh2em6w 2 года назад

    А как работать с несколькими таблицами? У меня 9 таблиц и между ними нужно как-то переключаться, можно ли это реализовать?

    • @viteralex
      @viteralex 2 года назад

      Можно. Только сначала сформулировать, что именно нужно делать. Если нужно обрабатывать связанные таблицы, то можно использовать представления. Хотя всё это вчерашний день, с более-менее большой базой будет тупить

    • @user-fq1gh2em6w
      @user-fq1gh2em6w 2 года назад

      @@viteralex Нет, база не большая. Это чисто для лабораторной в универе. Так же нужно просто инсерт, апдейт, делит и джоины

    • @viteralex
      @viteralex 2 года назад

      @@user-fq1gh2em6w и в чём проблема? Какая база? Если от Microsoft, так там кода почти не надо, все можно в мастерах делать: запросы писать, настраивать отображение, проверять результат

    • @user-fq1gh2em6w
      @user-fq1gh2em6w 2 года назад

      @@viteralex phpmyadmin MySQL. Ещё такая проблемка, что я не могу по способу в видео подключить бд, она вообще не хочет коннектиться

    • @viteralex
      @viteralex 2 года назад

      @@user-fq1gh2em6w если студия 2017,2019 то там есть полная интеграция со студией

  • @mahmutizturganov2457
    @mahmutizturganov2457 Месяц назад

    Автор помоги срочно

  • @mishashins
    @mishashins 4 года назад +1

    почему бы не сделать на WPF Core с использованием Entity Framework Core, количество кода уменьшается в разы, если надо могу скинуть ссылку, просто по не знанию сначала захотел как у тебя, но потом увидел количество кода и это ооочень грязно...

    • @shananboiara
      @shananboiara 4 года назад

      если посмотришь профайлером, какие дебильные запросы формирует ентети фреймворк, а заодно и сколько лишней работы требует маппинг, то расхочется упоминать EF в суе

    • @mishashins
      @mishashins 4 года назад

      @@shananboiara Во первых если хочешь писать оптимизированный код пиши на с
      Во вторых чтобы работать с большими проектами нужно чтобы код был минимальный
      В третьих я думал что он такие запросы создаёт, чтобы нельзя было sql инъекции сделать
      В четвертых это фреймворк который будут развивать и поддерживать

    • @shananboiara
      @shananboiara 4 года назад

      @@mishashins Во первых под .net действительно нельзя писать оптимизированный код (даже на IL), однако и тут не стоит без особой на то причины наваливать сверху еще тяжеловесного говна
      Во вторых все замечательно раскидывается по модулям и компактно вызывается; не уверен, что кто-то из подписчиков работает в мелкософт и прям над реально большими проектами
      В третьих как ты можешь быть уверен, что запрос защищен от инъекций, если его написали за тебя; я, возможно, параною, но sql действительно легко учится
      В четвертых ну сопсна и пусть развивается, не надо забывать, что в основе его ORM и ориентирован он под "удобство" для программиста и определенные паттерны разработки, в ущерб всему остальному
      Каждый свои инструменты выбирает, если тебе удобно закручивать гайку "универсальным закручивателем чегобытонибыло 3000", работающем от сети 380В , а не гаечным ключом, то почему бы и нет

    • @mishashins
      @mishashins 4 года назад

      @@shananboiara ты прав, но ошибаешься что мало проектов больших, .нет специализируется на больших проектах с глубоко проработанной логикой, и та кроссплатформа, которая щас разрабатывается позволяет писать оптимизированный по памяти код, но просто многие об этих фишках не знают

  • @VeRTIKaLNiy
    @VeRTIKaLNiy 3 года назад

    паходу меня не отчислят теперь

  • @MyKlimm
    @MyKlimm 4 года назад

    А ни у кого не было: "Ссылка на объект не указывает на экземпляр объекта.", если было, то как исправили?

    • @Bytepp
      @Bytepp  4 года назад

      А на каком экземпляре класса это у тебя?

    • @MyKlimm
      @MyKlimm 4 года назад

      @@Bytepp происходит это в "ReloadData()", но проблема ещё и в том, что сама по себе таблица не хочет отображаться в "dataGridView", это может быть связанно с тем, что БД находится на хостинге? (Когда работал по вашим урокам с "listView", то никаких проблем не было. Данные о БД записаны и в той программе и в этой в App.config)

    • @Bytepp
      @Bytepp  4 года назад

      @@MyKlimm, да, вполне может быть с бд связано, а null reference может возникать из-за ошибки создания подключения. Проверь подключение и строку подключения. Подсоединись к бд на хостинге через обозреватель серверов и скопируй строку подключения. Вставь её в конфиг, в общем, туда, где строка подключения идёт.

    • @MyKlimm
      @MyKlimm 4 года назад

      @@Bytepp Делал, но эффект тот же, "dataGridView" пустой и никаких ошибок, ровно до того момента, пока я не нажму на кнопку "Update" и только тогда вылетает ошибка: "Ссылка на объект не указывает на экземпляр объекта.". Сейчас попробую создать локальную БД, посмотрю что будет.

    • @MyKlimm
      @MyKlimm 4 года назад

      И с локальной не хочет

  • @puser-yh9lv7kl1h
    @puser-yh9lv7kl1h 3 года назад

    Как То Странно Работает update, на раз 10, или вообще нет, в чем может быть дело

    • @Bytepp
      @Bytepp  3 года назад

      Возможно проблемы с подключением. Погугли

    • @puser-yh9lv7kl1h
      @puser-yh9lv7kl1h 3 года назад

      @@Bytepp удалять строки и добавлять я могу, не пойму что именно с апдейтом, ваш код один в один, за кадром правок не было?

    • @Bytepp
      @Bytepp  3 года назад

      @@puser-yh9lv7kl1h, неа, не было. Я думаю ты где-то забываешь обновить бд скорее всего

    • @Bytepp
      @Bytepp  3 года назад

      @@puser-yh9lv7kl1h, попробуй удалить все try catch, если они есть, вдруг где-то ошибка

    • @puser-yh9lv7kl1h
      @puser-yh9lv7kl1h 3 года назад

      @@Bytepp Вообщем мне надо стать на другую строку и нажать Апдейт, тогда сохраняет

  • @ValeraKeyBrown2Channel
    @ValeraKeyBrown2Channel 5 месяцев назад

    дуд, а если таблиц несколько, то что тогда? Хах

  • @user-yd8fd5kq3s
    @user-yd8fd5kq3s 3 года назад

    Палец вверх, но юзеринтерфейс трешевый. Не говоря у же про кучу дублей кода...

  • @alright392
    @alright392 8 месяцев назад

    Косноязычие убивает желание смотреть.

  • @igorcoolman
    @igorcoolman 4 года назад +1

    слишком сложно и нет подробного объяснения (

    • @Andre-bx5eu
      @Andre-bx5eu 3 года назад

      Посмотрите ролики по этой теме которые он до этого снимал

  • @bloodycuite7138
    @bloodycuite7138 6 месяцев назад

    Не работает, не удается неявно преобразовать тип System.Windows.Forms.DataGridViewRow в System.Windows.Forms.DataGridView боже какой же тупейший язык этот C# в windowsForms, просто ненавижу его