C++ и ACCESS. Пример работы с ACCESS на Windows Forms C++.

Поделиться
HTML-код
  • Опубликовано: 29 окт 2024

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

  • @Анна-я6б3е
    @Анна-я6б3е 4 года назад +12

    Спасибо огромное! Долго искала и наконец нашла нужный мне материал для курсовой!

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

      pro tip : you can watch series on flixzone. Me and my gf have been using them for watching all kinds of movies lately.

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

      @Jorge Rene yea, have been watching on Flixzone} for months myself :D

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

      Здравствуйте, а у вас на какую тему курсовая

  • @123Тимошенко
    @123Тимошенко 3 года назад +6

    Я уже прилично на ютубе, но впервые оставляю комментарий. Огромное Вам спасибо за данное видео, все понятно, все получилось по вашему примеру и оперативно). Большое спасибо за Вашу работу!

  • @МихаилКучинский-л1р

    Спасибо, большое. Долгое время мучался с добавлением данных в БД. А вы всё разъяснили и показали в понятном формате

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

    Видосы топ, без воды все ясно и понятно. Это однозначно лайк

  • @what_about-e8b
    @what_about-e8b Год назад

    Спасибо тебе огромное!
    Я долгое время старался подключить БД, но всё было зря. Благодаря тебе наконец получилось.😄

  • @НикитаДемидов-х7е

    Спасибо за видео! Очень понятно всё объяснено, спасибо большое!

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

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

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

    Что делать если при загрузке выходит такая ошибка System.InvalidOperationException: "Поставщик "Microsoft.Jet.OLEDB.4.0" не зарегистрирован на локальном компьютере."

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

      У меня получилось исправить, так как у меня access 2016 года нужно было писать "Microsoft.Ace.OLEDB.12.0"

    • @user-uu5ec2nj1j
      @user-uu5ec2nj1j 2 месяца назад

      Переведи с х64 на х86

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

    Спасибо большое!

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

    Подскажите, пытался сделать фильтр по запросу: "SELECT * FROM [table_name] WHERE comp LIKE '*" + textBox1->Text + "*'", в конечном итоге он не находит ни одного совпадения, какую бы я строку не писал, возможно вместо dbComand->ExecuteReader(); нужно использовать что-то другое?

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

    Круто! Могли бы вы рассказать про дизайн формы? Как можно менять стандарты дизайна? На с++ не смог найти достойные библиотеки.

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

    OleDbDataReader^ dbReader = dbCommand->ExecuteReader();
    в этой строке выдает ошибку, что не хватает одного или нескольких параметров, что не так?
    еще я хочу выводить ячейки не в dataGridView, а просто в label, подойдет ли следующий код
    label1->Text = dbReader.ToString(); ??

  • @nikita7272
    @nikita7272 7 месяцев назад +1

    Подскажите, а что делать если выдает ошибку "Поставщик Microsoft.Jet.OLEDB.4.0 не зарегистрирован на локальном компьютере"?

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

      Нашел как исправить?

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

      @@artemmovishartemmovish6011вместо 4.0 пишешь 12.0.0

    • @user-uu5ec2nj1j
      @user-uu5ec2nj1j 2 месяца назад +1

      Или просто переключись на X86 платформу: Build(Сборка) -> Configuration Manager

  • @АлександраОстринская-е4о

    : "Ошибка синтаксиса в инструкции UPDATE."
    Постоянно выскакивает такая ошибка, в кнопке ИЗМЕНИТЬ
    String^ qwerty_S = "UPDATE [TableStudents] SET Name='"+ Name +"', Surname='"+ Surname +"', Number="+ Number +" WHERE id=" + ID ;
    В чём может быть проблема? Пишет, что проблема в синтаксисе...

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

    Cпасибо

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

    А что если путь соединения с БД ошибку выдаёт? Есть ли какой-то способ подключить всю бд, как в С# допустим?

  • @катяисаченко-ъ9ь
    @катяисаченко-ъ9ь 5 месяцев назад

    Почему-то при добавлении записей в таблицу они передаются как DataGridViewTextBoxCell { ColumnIndex=1, RowIndex=7 }
    кто-нибудь знает как это исправить?

  • @ИльяАпсит
    @ИльяАпсит 3 года назад

    лучший

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

    Блин новая ошибка, Syntax error in string in query expression 'id = '5'.

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

      Data type mismatch in criteria expression.

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

      Добавление и загрузка работают, а вот обновление и удаление не хотят

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

      @@an4ous7 У меня при загрузки ничего не происходит и ошибок нет, у тебя есть дискорд?

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

      @@academai11 вряд ли я смогу помочь, это было очень давно

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

    Спасибо за объяснение. Но при попытки записи в базу создаётся файл ldb, при этом в базу данные не записываются. В чем может быть проблема?

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

    А можно код?) Не для себя, а для Сашки!
    Просто муторно переписывать: String^ connect = "provider=Microsoft.Jet.OLEDB.4.0; Data Source=Data.mdb";

  • @НикитаМанвелян-т1ю

    У меня возникла ошибка на запрос по обновлению данных. Пишу ID_MEMBER(Такое название у меня в таблице Access), запрос примерно такой ID_MEMBER=' " +id_member(такое название переменной в которой содержится ID пользователя)+ " ' и другие данные которые параллельно обновляю, но почему то он не обновляет. Убираю запрос на обновление ID пользователя он работает, то есть другие данные обновляет. В чём может ошибка?

    • @FPS.FirePlanetStudio
      @FPS.FirePlanetStudio  Год назад +1

      Именно ID пользователя не обновляется как поле? Возможно у вас стоят соответствующие настройки в БД, либо в чем то другом ошибка, точнее, к сожалению, не могу подсказать, нужно БД и код смотреть

    • @НикитаМанвелян-т1ю
      @НикитаМанвелян-т1ю Год назад

      @@FPS.FirePlanetStudio спасибо большое и правда какая то ерунда была в таблице, может из за того что ID_MEMBERS был связан с другой таблицей?

    • @НикитаМанвелян-т1ю
      @НикитаМанвелян-т1ю Год назад

      @@FPS.FirePlanetStudio а нет из за того что связаны ни как не влияет на работоспособность

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

    Исключение не обработано!
    System.Data.OleDb.OleDbException: "Недопустимое имя файла."
    Как решить проблемку?

    • @FPS.FirePlanetStudio
      @FPS.FirePlanetStudio  3 года назад

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

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

    Очень понятно объяснили, спасибо большое. Но у меня есть вопрос. Мне нужно, что бы я программно (при нажатии на кнопку или как-то по другому) мог варьировать количество столбцов и присваивать им названия (хотя названия не обязательно, можно просто порядковый номер столбца). Вопрос, собственно, как это сделать?
    Upd. А, всё таки мне нужны названия столбцов и вопрос: можно ли их менять именно в исходном файле через программу?

    • @FPS.FirePlanetStudio
      @FPS.FirePlanetStudio  3 года назад +1

      Можно попробовать это реализовать так, в обработчике нажатия кнопки по созданию столбцов:
      DataGridViewTextBoxColumn^ column = gcnew DataGridViewTextBoxColumn ();
      column->Name = “NameColumn”;
      dataGridView->Columns->Add(column);
      Тогда добавится один столбец с указанными параметрами.
      Все что делаем в редакторе, можно сделать через код. Все поля которые указываем, по аналогии с примером Name, можно так же изменить через код.

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

    А как убрать повторную загрузку если нажать два раза на кнопу загузки то и загрузится два раза тоесть есл в бд 2 строки то в таблице проги уже 4

    • @FPS.FirePlanetStudio
      @FPS.FirePlanetStudio  2 года назад

      Нужно очистить данные перед загрузкой. Если вывод из бд идёт напрямую в dataGridView, то просто очистить в ней строки

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

    Скажите, а как подключиться к БД с расширением *accdb? К *mdb всё нормально, а здесь не получается.

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

      Вам нужно саму бд открыть и сохранить заново в нужном формате.

    • @ПавелТихончук-ц9л
      @ПавелТихончук-ц9л 4 года назад

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

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

    Ths

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

    И так, Господа, возился я пол дня с ошибкой типа System.Data.OleDb.OleDbException (0x80040E10). Её решение в том что если вы используете в таблице символы, например как столбец "name", то его надо взять дополнительно в ординарные кавычки '"name"'. Автор не очень понятно объяснил этот момент на 21:21 .

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

      Стоит заметить, есть и моя ошибка потому что не досмотрел до 26:00 , но всё же, думаю, такие вещи надо обговаривать сразу же

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

    в таблице Access 15 полей.
    я хочу добавить новые записи только для 4 полей
    запрос на добавление написан следующим образом:
    String^ query = "INSERT INTO [t_personal] VALUES (" + Код + ", " + Фамилия + ", " + Имя + ", " + Отчество + ", " + кодвзв + ")";
    Выдаёт ошибку
    System.Data.OleDb.OleDbException: "Отсутствует значение для одного или нескольких требуемых параметров."
    Изначально это исключение было создано в этом стеке вызовов:
    [Внешний код]
    DBvidbir::MyForm::button_add_Click(System::Object^, System::EventArgs^) в MyForm.cpp
    [Внешний код]
    main(array^) в MyForm.cpp
    -= Помогите правильно написать запрос на добавление с учётом указанных выше условий =-

    • @FPS.FirePlanetStudio
      @FPS.FirePlanetStudio  3 года назад

      На сколько я знаю, в данную таблицу нельзя вставить данные по не всем полям, можно только добавить данные для всех полей. По крайней мере в этом примере. Вы можете в нужные поля добавить данные, а в остальные добавить какие нибудь константные значений, например «-», «0» или любое другое, которое будет подразумевать пустой значение.

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

      @@FPS.FirePlanetStudio спасибо за Ваш ответ. У меня получилось сделать так как я хотел (добавлять значения только для 4 полей). Проблема была в написании синтаксиса самого запроса. Так что спасибо, Ваш код работает и для моего частного случая.

    • @ПавелГермаш-я5в
      @ПавелГермаш-я5в 3 года назад

      @@alexkayful Можешь пожалуйста ответить в чем была проблема? У меня сейчас выдает такую же ошибку, я хочу во все поля таблицы записать информацию. Все точно как на видосе описал, но не работает, ошибка как у тебя.

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

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

    • @FPS.FirePlanetStudio
      @FPS.FirePlanetStudio  3 года назад +1

      Вас никто не заставляет смотреть подобные ролики. Лучше дать конструктивные комментарии, чем быть диванным критиком, которых тоже «расплодилось», раз знаете материал лучше.

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

      @@FPS.FirePlanetStudio Ну да, ну да... Диз и в Бан, умник.

    • @FPS.FirePlanetStudio
      @FPS.FirePlanetStudio  3 года назад

      @@shapelvm, дело ваше

    • @БогданМалашук
      @БогданМалашук 7 месяцев назад

      ахахаха, туповатый ты однако@@shapelvm

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

    Что делать, если база не подключается, но ошибки не выдает?

    • @FPS.FirePlanetStudio
      @FPS.FirePlanetStudio  3 года назад

      Возможно дело в версии базы данных или в неправильном объявлении, или может база пуста, причин может быть несколько. Сложно сказать, из за чего так произошло.

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

      @@FPS.FirePlanetStudio Хех, привет, подтянул я свои знания, там прикол был в том, что в новых версиях подключение происходит несколько иначе

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

      @@frozehbrian_4166 подскажите, пожалуйста, как решили проблему?

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

      @@Uvarovavarvara убери return void

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

    Удивительно, уже 2023 год, а таблицу нужно заполнять данными "ручками". Неужели нет визуального элемента (типа DBGrid в Борланде), в котором это реализовано автоматически?
    И вообще удивительно, что настолько продуманная концепция организации интерфейса Борланда не получила своего развития и воплощения в современных IDE. Где сейчас этот Борланд?

    • @FPS.FirePlanetStudio
      @FPS.FirePlanetStudio  Год назад

      Можно сделать dataSet, тогда не придется вводить все вручную

  • @СашаУстиченко
    @СашаУстиченко Год назад

    чи я щось не розумію це ж СИНТАКСИС с#