MS Access и C# - работаем с базой данных из программы Windows Forms
Вставка
- Опубліковано 11 бер 2018
- В видео рассказывается про работу с базой данных Microsoft Access с помощью языка программирования C#. Демонстрируется выполнение запросов выборки SELECT, вставки INSERT, обновления UPDATE и удаления DELETE из проекта Windows Forms C# в среде разработки Visual Studio.
Исходный код из урока: vscode.ru/prog-lessons/ms-acce...
Огромное Вам спасибо, автор! Спустя 5 лет, Ваши видео несут пользу людям!
Спасибо вам огромное в 2021, я делал курсовую работу, и уже просто загнался в тупик, ваше видео мне очень помогло
Огромное спасибо за все ваши видеоуроки!
Вы ЧЕЛОВЕЧИЩЕ!!!
Виктор Петров спасибо большое!
Очень нравится то что вы описываете каждый шаг разъясняя каждую команду!
Виктор Петров стараюсь)
Ахах, хотел написать точно так же))
Огромное спасибо! Очень грамотно объясняете материал.
Хоть и старое, но самое лучшее объяснение, которое только смог найти. Огромное спасибо Автору!
Огромная благодарность за урок!
Потрясающе! СПАСИБО!!!
Спасибо, благодаря твоим видео сделал курсовую по базам данных)
Вы мой новый супер-герой, аля Кодмэн. Спасибо вам))))
Спасибо из 2019, помогли!!!
Большое спасибо за видео! Отдельное спасибо за текстовую часть урока, т.к. на видео не все команды видны.
konvaliiya и Вам спасибо!
Спасибо огромное. Лучший урок с базами данных на C#.
ОГромное спасибо
дали задание на практику "Сделать оконное приложение которое работает с базами данных"
Ни баз данных ни оконных приложений мы не проходили )
:D "жизненно так жизненно " :D
Вы просто спасли меня, и часов 8 моей жизни , не знаю как отблагодарить даже
спасибо большое! все внятно и без воды))
Круто! Делай побольше таких видео!
Спасибо! Хорошо)
просто лучший спасибо большое за твои видосы очень помогают с учебой и очень интересно создавать
Отлично показал и рассказал. Спасибо огромное, а то на форумах я не сильно понял.
Благодарю
Все очень круто, не могли бы след ролик записать по реализации поиска по базе данных.
Спасибо! Кстати хорошая идея. Сделаю)
про поиск отличная идея!
Как всегда полезно!
Если не лень будет, разберите вопрос автоматического обновления данных в приложении на С# при изменениях в ms sql server, только не по таймеру, а через service broker.
Спасибо за отзыв! Посмотрим, может позже сделаю.
крутое видео, помогло на 100%
Спасибо!
Однозначно лайк
все хорошо
Добрый вечер, в конце вы рассказали про удаление строк из таблиц. Однако в access есть такая погрешность, что значение поля счётчика не удаляется вместе со строкой (итого- счётчик не "уплотняется", а записывается под числом, идущим после номера счётчика удалённой строки). Решение этому- сжатие бд. Как можно сделать сжатие в c#?
Здравствуйте!
Благодарю вас за видео-урок.
Меня заинтересовало, почему вы в запросах использовали не вводимые значение, а фиксированные, которые прописали в коде. Было бы поучительно наглядно увидеть как sql-запросы работают с текстовыми данными, введенными пользователем.
Я решила свой вопрос, немного изменив запрос на такой
String firstquerty = "SELECT w_name FROM Workers WHERE w_id = " + textBox2.Text;
//Если кто-то возьмёт это и у него не заработает код - у меня имя запроса firstquerty, в видео querty, так же имя таблицы у меня с окончанием s.
Подскажите, пожалуйста, как в коде прописать возврат к прежнему отображению данных после их фильтрации 😥
Большое спасибо за видео!
Не могли бы вы прояснить еще один момент:
SELECT COUNT(*) as count FROM Понедельник WHERE Время LIKE '12:30' - этот запрос в access работает верно,возвращает число одинаковых записей,но С# мне выдает ошибку "Ошибочное или пропущенное зарезервированное слово или аргумент в инструкции SELECT или неверная пунктуация."
Тут нужно поэкспериментировать. Попробуйте без as count или возьмите в кавычки "Понедельник" или, возможно, время указано в неверном формате, может нужно добавить секунды. Еще вместо LIKE можно попробовать =. "Время" взять в кавычки или в одинарные кавычки 'Время'.
у меня OleDbException Не удаётся найти выходную таблицу
Возможно ли через text.box добавлять в бд данные которые я буду вписывать? А то ваша схема идет именно на работу из самого кода
Подскажите, пожалуйста, как в команде "INSERT", или в той же "UPDATE" в поля БД занести не данные, которые я написал от руки прямо в коде, а переменную или результат выполнения функции? Как это можно сделать?
какую команду писать, если бд находиться не в папке VS, а на локальном сервере, путь к которому известен?
А можете написать то же самое, только функции кнопок провести через отдельный класс? Это для универсальности, чтобы можно было редактировать разные по числу полей таблицы.
Какая удача на такой свежак нарваться. Только начал интересоваться как это сделать и такой хороший пример.
Igor Shapkin
, а как нибудь изменится это приложение если речь будет идти о WPF-реализации? И ещё немного не по теме: В случае WPF- приложения у нас будет приложение одним исполняемым файлом или россыпь файлов. Просто думаю как поступать мне. Есть у меня СУБД Access и надо клиент к нему замонстрить. Работодатель неуверенно заикается про Питон а предполагаю что лучше на C#. У работодателя требование. СУДБ - одним файликом и приложение-клиент тоже одним файликом. Я то до этого только WinForm делал и ихний вид меня не устраивает.
На WPF не сильно изменится. И скорее всего россыпь.
Здравствуйте, попытался использовать Ваш код для базы данных, в которой несколько таблиц, и выдает ошибку (несуществующий экземпляр). Подскажите, пожалуйста, какие особенности появляются, если работать с несколькими таблицами?
Не подскажите как в pictureBox загрузить изображение(типа OLE) из базы данных(Access)?
С OLE никогда не работал, но идея должна быть следующей: переконвертировать данные из БД в объект с изображением Bitmap, а его уже не составит труда вывести в PictureBox.
Почему изменения (вставка новой строки, обновления и удаления строк ) не сохраняются после завершения работы программы в бд access?
Сохраняются
Не подскажете как сравнить данные из 2-ух combobox -ов по определенному параметру? Каждые данные из combobox взяты из Бд access.
Если вы имеете в виду, как получить данные из комбобоксов, чтобы потом их сравнить, так это combobox1.SelectedItem - если интересует выбранное значение. Или можно получить всю коллекцию элементов combobox1.Items. К конкретному элементу можно обратиться как к элементу массива [0].
Получаете таким образом нужные элементы и сравниваете их по принципу, который требуется.
Спасибо
Норм
Я долго не понимал, почему у меня ошибка в INSERT INTO. Помогло заключение всех объектов и атрибутов БД в квадратные скобки [ ]. Мало ли, кому поможет...
А теперь внимание вопрос: как работать с форматом accdb?
Вместо Worker.mdb, пишешь Worker.accdb. Строку подключения берешь Microsoft.ACE.OLEDB.12.0
Здравствуйте, у меня в БД 2 таблицы, первую добавил, а для второй необходимо заново создавать классы?
Почему запись с Id=4 выходила первой в запросе Order By Id?
Здравствуйте, подскажите пожалуйста! Что если база данных уже в mdb формате, но названия колонок у неё на русском языке. Как мне сделать выборку по названиям этих столбцов, если они на русском
System.Data.OleDb.OleDbException: "Ошибка синтаксиса в инструкции INSERT INTO."
Проверьте получше. На видео всё работает.
А какого года у вас аксесс, или туда любую можно ?
Access 2010
не совсем понял тему проекта, зарплаты рабочих?
Здравствуйте! Скачал исходник с сайте и попробовал запустить скомпилированное приложение. Сразу вылетело с ошибкой. Попробовал запустить исходник и тоже самое.. ошибка. В чем может быть проблема?
А с DataGridView , будут проводится такие же действия ?
такие же как здесь ua-cam.com/video/W2av_JTn5TU/v-deo.html
Спасибо)
А там получается без разницы какая версия SQL Express?
Без разницы
этот способ требует какого либо локального сервера на компьютере?
Ещё один вопрос к вам, как к программисту, можно ли таким способом сделать информационно-аналитическую систему? :)
Конечно. Почему нет)
просто мне тут люди подсказывают, что только с sql server это делается, хотел узнать ещё ваше мнение)
В принципе можно сделать с любой. Но лучше, конечно, работать с полноценными СУБД: MSSQL, Oracle, MySQL. Бесспорно, Access - это по большому счету игрушка. В серьезных разработках ее не используют.
Понял, спасибо за ответ)
А почему при обновлении и добавлении у меня не читается command.ExecuteNonQuery(); ? Поэтому запрос не выполняется:(
Пересмотрите, пожалуйста, внимательнее видео и сделайте все в точности - все заработает
@@IgorShapkinChannel мне нужно было поставить имя столбца в квадратные кавычки, поэтому не читалось. Столбец назывался Password. Спасибо за ответ
А у меня такая ошибка выходит:
System.Data.OleDb.OleDbException: "Невозможно найти устанавливаемый ISAM."
Возможно строка подключения неправильная
@@IgorShapkinChannel Да, вы правы. А теперь другая ошибка выходит
По всем кнопкам норм, а по первой "Ссылка на объект не указывает на экземпляр объекта"
Здравстуйте, ошибка: System.Data.OleDb.OleDbException: "Отсутствует значение для одного или нескольких требуемых параметров." Уже 2 часа мучаюсь
Попробуйте параметры в квадратные скобки взять. Вот так: string query = "SELECT [customer_name], [e-mail], [phone] FROM [customer] ORDER BY [e-mail]";
@@user-vo1fg1vl7c, спасибо уже все работает.
Какая версия sql server?
Тут не SQL Server, а MS Access.
Только вникаю в это всё, хотелось бы узнать, как работать с sql server:)
Хорошо, скоро запишу видео)
В строке myConnection.Open(); не происходит соединение с базой данных, пишет System.Data.OleDb.OleDbException: "Невозможно найти устанавливаемый ISAM." Проверял обе строки подключения. Результат одинаков. Что надо сделать?
Ошибка найдена! У меня было записано Data Sourse вместо Data Source.
выдаёт ошибку System.InvalidOperationException: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
Было такое же, просто скачал microsoft database, установил и перезапустил компьютер. Помогло. Самое интересное на версии 2019 года не появлялось.
не возлагайте на аксес великих надежд ломается легче легкого
Здравствуйте у меня OleDbConnection не работает
Можете подсказать,как выйти из положения
Вы как-то решили данную проблему?
А писали сверху using system.data.oledb?
Disposable? Не, не слышал
Почему изменения (вставка новой строки, обновления и удаления строк ) не сохраняются после завершения работы программы в бд access?
Сохраняются