Подключение базы данных MS Access к проекту на C# (Windows Form)

2019 ж. 26 Сәу.
29 954 Рет қаралды

Ручное подключение к файлу базы данных MS Access в С#
Исходник на диске (нет не на GitHub) - yadi.sk/d/AHu4NvLf_MfXHQ
Песни из видео исполняет группа - Rise Against

Пікірлер
  • Делал в vs2019 и получил ошибки синтаксиса во всех трех методах. Чтобы их исправить, все имена, которые относятся к вашей бд нужно взять в [ ]. К примеру: "SELECT * FROM [Person]...." или "$"INSERT INTO [Person]([FirstName], [LastName], [Age]).......".

    @user-zl6dm2xg8n@user-zl6dm2xg8n3 жыл бұрын
    • command = new OleDbCommand($"INSERT INTO [Person]([FirstName], [LastName], [Age]) VALLUES([@FirstName], [@LastName], [Age])", connection); command.Parameters.AddWithValue("FirstName", FirstName); command.Parameters.AddWithValue("LastName", LastName); command.Parameters.AddWithValue("Age", Age); command.ExecuteNonQuery(); connection.Close(); Все ровно ошибка синтаксиса

      @truntrun7767@truntrun77673 жыл бұрын
    • нашел ошибку в VALLUES

      @truntrun7767@truntrun77673 жыл бұрын
  • Вот просто чмоки в щёки, от души) Делал свою по твоему примеру, вроде разобрался что и как, благодарю за внятный экскурс по работе с базой

    @coffin_69@coffin_693 жыл бұрын
    • всё круто только жаль быстро пробежал без разжовывания что к чему

      @bleckVirus@bleckVirus3 жыл бұрын
  • Спасибо за видео, всё разложил по полочкам, всё понятно и просто

    @user-lt5sj7pb6b@user-lt5sj7pb6b4 жыл бұрын
  • Красавчик, огромное спасибо. Помог с курсачем.

    @ilyayarosh2747@ilyayarosh27474 жыл бұрын
  • Спасибо! Все вроде бы понятно! Буду делать! Удачи!

    @user-wq9hg1kc6c@user-wq9hg1kc6c4 жыл бұрын
  • Хорошое видео, все четко и понятно !

    @dimitrishat8659@dimitrishat86594 жыл бұрын
  • Спасибо большое! Отличное видео, с ним гораздо быстрее разобралась, всё было очень понятно, и всё получилось)

    @fast9850@fast98504 жыл бұрын
    • рад был помочь)

      @resolution07@resolution074 жыл бұрын
  • Спасибо!!

    @mrapostlchannel1549@mrapostlchannel15493 жыл бұрын
  • самый полезный урок из всех

    @RareGoose8008@RareGoose8008 Жыл бұрын
  • А если у меня в базе несколько таблиц, как сделать чтобы я выбирал название таблицы из ComboBox, и оно подставлялось в запрос? (все таблицы с одинаковыми названиями столбцов)

    @mr.drakonkin9452@mr.drakonkin94524 жыл бұрын
  • ЧЧЕЕЛЛ КАКОЙ ЖЕ ТЫ КРУТОЙ

    @Mi-ray@Mi-ray3 жыл бұрын
  • Отличный урок. Спасибо!

    @akerketogisova6380@akerketogisova63804 жыл бұрын
  • лучший на планете

    @muertos_muchacha@muertos_muchacha2 жыл бұрын
  • проблема на счет удаления из datagridwiev выдает ошибку про время ?:%

    @Enderfinnn@Enderfinnn4 жыл бұрын
  • Помоги пожалуйста Я могу скачать исхдник и поставить свою базу??

    @user-ts5jj8it2r@user-ts5jj8it2r3 жыл бұрын
  • О ГОСПОДЬ(AlСaTRaZ), СПАСИБО ТЕБЕ!!!!

    @the_creator9451@the_creator94514 жыл бұрын
  • Воистину гений

    @apacheforever9718@apacheforever9718 Жыл бұрын
  • А чем обусловлен выбор именного данного типа базы данных? Какие еще базы данных можно было бы использовать локально?

    @vitalyu3905@vitalyu39054 жыл бұрын
    • SqLite, Paradox, FoxPro, dBase

      @resolution07@resolution074 жыл бұрын
  • можешь помочь ошибка на command.ExecuteNonQuery(); System.Data.OleDb.OleDbException: "Ошибка синтаксиса в инструкции INSERT INTO." Я изменил FirstName и SecondName на Login Password и удалил Age.

    @talgatulynursultan7836@talgatulynursultan78364 жыл бұрын
    • тоже самое

      @nort1793@nort17934 жыл бұрын
    • Ошибка в SQL запросе

      @resolution07@resolution074 жыл бұрын
  • Как будет правильно в этой ситуации реализовать UPDATE для редактирования уже существующей записи ?

    @WoysfuL@WoysfuL5 жыл бұрын
    • Для изменения записи необходимо передать ID изменяемой записи в метод. public void Edit(int ID, string FirstName, string LastName, int Age) { connection.Open(); command = new OleDbCommand($"UPDATE Person SET FirstName=@FirstName, LastName=@LastName, Age=@Age WHERE ID=@ID", connection); command.Parameters.AddWithValue("FirstName", FirstName); command.Parameters.AddWithValue("LastName", LastName); command.Parameters.AddWithValue("Age", Age); command.Parameters.AddWithValue("ID", ID); command.ExecuteNonQuery(); connection.Close(); }

      @resolution07@resolution075 жыл бұрын
    • @Ruslan Elizarov не совсем понял вопрос

      @resolution07@resolution075 жыл бұрын
    • @@resolution07 А как связать это действие с кнопкой?

      @viridox260@viridox2604 жыл бұрын
    • Virid Ox так же, вызывать внутри обработчика функцию edit

      @resolution07@resolution074 жыл бұрын
  • делал в vs 2022 но выскакивает ошибка "Поставщик "Microsoft.ACE.OLEDB.4.0" не зарегистрирован на локальном компьютере." хз что делать хотя ссылки все добавлял и ошибка именно в connection когда прописывали еще

    @user-tg7hb4gi3k@user-tg7hb4gi3k3 ай бұрын
    • Добрый день. У вас видимо не установлены библиотеки для работы с ms access. Поищите в интернете библиотеки и доставьте. Потом повторите шаги из видео.

      @resolution07@resolution073 ай бұрын
  • здравствуйте,не поможете?Как узнать количество строк в таблице,просто хочу создать массив длиной это количество строк(это я смогу).Вот такая строка есть"select count(*) from ИмяТаблици", а после неё что должно идти?

    @stenzoautomatic@stenzoautomatic4 жыл бұрын
    • Выборка по всем записям таблицы?

      @resolution07@resolution074 жыл бұрын
    • @@resolution07 да,после этой строки у меня вот так "OleDbCommand command = new OleDbCommand(query2, myConnection);", а потом вот так: "int count = command.ExecuteNonQuery();"- но count у меня равен 0 почему-то, хотя по факту одна строка в базе данных точно есть,может здесь счёт идёт с 0?

      @stenzoautomatic@stenzoautomatic4 жыл бұрын
    • инф.брал отсюда: www.cyberforum.ru/csharp-net/thread88676.html

      @stenzoautomatic@stenzoautomatic4 жыл бұрын
    • while(reader.Read())-не подойдёт,так как потом с помощью него я буду запписывать эти строки в созданный массив

      @stenzoautomatic@stenzoautomatic4 жыл бұрын
    • но если нет стандартной команды то буду как то выкручиваться while

      @stenzoautomatic@stenzoautomatic4 жыл бұрын
  • На 16:40 выдает ошибку с Sample (возможно,отсутствие директивы using или ссылка на сборку) . Делал все точ в точ ,но все равно ошибка как можно исправить .

    @di8974@di89744 жыл бұрын
    • sample - это имя проекта из примера. вместо этого пиши то, как ты назвал свой проект прим: WindowsFormsApp1.Controller и все должно заработать

      @user-yu4rk6qk3f@user-yu4rk6qk3f4 жыл бұрын
  • Что делать, когда выходит ошибка из-за того, что программа не зарегистрирована на компьютере. (И VS, и Access)

    @Sirena0103@Sirena01035 ай бұрын
    • нажми на файл под решением (в видео оно называется Sample) => свойства=> Сборка=> и поменяй Целевую платформу на х64

      @quiettatar@quiettatar4 ай бұрын
  • System.Data.OleDb.OleDbException: "Ошибка синтаксиса в инструкции INSERT INTO."

    @vovamoskalyuk7802@vovamoskalyuk78024 жыл бұрын
  • Можно прописать поиск данных из базы данных?

    @user-xl6cd8it7b@user-xl6cd8it7b3 жыл бұрын
    • Да, можно. Есть несколько вариантов решения задачи

      @resolution07@resolution073 жыл бұрын
    • @@resolution07 не подскажете, пожалуйста, уже второй день мучаюсь(программист из меня нулевой)

      @user-xl6cd8it7b@user-xl6cd8it7b3 жыл бұрын
    • @@user-xl6cd8it7b vk.com/resolution07 пиши, разберемся

      @resolution07@resolution073 жыл бұрын
  • На сколько сложно реализовать изменение информации в базе данных, при двойном щелчке на ячейку в DataGrid

    @user-qr3zc3fd1u@user-qr3zc3fd1u3 жыл бұрын
    • Если знаешь SQL спокойной. Просто при изменении какой-либо строки тебе нужно брать её ключ, и писать sql запрос на изменение столбика в строчке с взятым ключём. Хз как нормально объяснить. Если ещё актуально, то ответь на коммент - помогу.

      @user-tl2in2il3l@user-tl2in2il3l3 жыл бұрын
    • @@user-tl2in2il3l Еще актуально

      @user-qr3zc3fd1u@user-qr3zc3fd1u3 жыл бұрын
    • Если можешь, черкани здесь строчку. Не понятно как брать ключ, если в новой строке его еще нет. В методе Delete берет уже существующий, тут понятно. int.Parse(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["ID"].Value.ToString())

      @yuridonin9151@yuridonin91512 жыл бұрын
  • System.Data.OleDb.OleDbException: "Инструкция INSERT INTO содержит неизвестное имя поля 'AircraftNumber'. Проверьте, что имя задано без ошибок, и повторите операцию."

    @Ketsmur@Ketsmur3 жыл бұрын
    • Ошибка в SQL запросе

      @resolution07@resolution073 жыл бұрын
    • Пишет же что, содержит неизвестное имя поля 'AircraftNumber'

      @resolution07@resolution073 жыл бұрын
    • Блин дружище уже несколько дней воюю с этой проблемой (

      @Ketsmur@Ketsmur3 жыл бұрын
    • "Ошибка синтаксиса в инструкции INSERT INTO.")

      @Ketsmur@Ketsmur3 жыл бұрын
  • мне выдает ошибку в классе Query, что свойство ConnectionString не инициализировано, как это можно исправить?

    @margaritaray9890@margaritaray98904 жыл бұрын
    • обновить библиотеку. инициализировать все объекты

      @resolution07@resolution074 жыл бұрын
  • помогите

    @Ketsmur@Ketsmur3 жыл бұрын
  • Че ис как курсач?)

    @rishatbaimurzinov2931@rishatbaimurzinov29314 жыл бұрын
    • Полным ходом

      @giminyd3146@giminyd31464 жыл бұрын
KZhead