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

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

КОМЕНТАРІ • 65

  • @user-zl6dm2xg8n
    @user-zl6dm2xg8n 4 роки тому +6

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

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

      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
      @truntrun7767 3 роки тому

      нашел ошибку в VALLUES

  • @coffin_69
    @coffin_69 3 роки тому +12

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

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

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

  • @user-dx1ie9pg1p
    @user-dx1ie9pg1p Місяць тому

    Каждый раз возвращаюсь к этому прекрасному автору и его видео, когда на учёбе нужно разработать приложение, связанное с базами данных.
    Благодарю за помощь ❤

  • @user-lt5sj7pb6b
    @user-lt5sj7pb6b 5 років тому +1

    Спасибо за видео, всё разложил по полочкам, всё понятно и просто

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

    Красавчик, огромное спасибо. Помог с курсачем.

  • @user-wq9hg1kc6c
    @user-wq9hg1kc6c 4 роки тому +2

    Спасибо! Все вроде бы понятно! Буду делать! Удачи!

  • @fast9850
    @fast9850 4 роки тому +5

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

  • @dimitrishat8659
    @dimitrishat8659 4 роки тому

    Хорошое видео, все четко и понятно !

  • @muertos_muchacha
    @muertos_muchacha 2 роки тому +2

    лучший на планете

  • @Mi-ray
    @Mi-ray 3 роки тому

    ЧЧЕЕЛЛ КАКОЙ ЖЕ ТЫ КРУТОЙ

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

    Спасибо!!

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

    Воистину гений

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

    самый полезный урок из всех

  • @the_creator9451
    @the_creator9451 4 роки тому

    О ГОСПОДЬ(AlСaTRaZ), СПАСИБО ТЕБЕ!!!!

  • @mr.drakonkin9452
    @mr.drakonkin9452 4 роки тому +1

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

  • @akerketogisova6380
    @akerketogisova6380 4 роки тому

    Отличный урок. Спасибо!

  • @user-ts5jj8it2r
    @user-ts5jj8it2r 4 роки тому +1

    Помоги пожалуйста
    Я могу скачать исхдник и поставить свою базу??

  • @Enderfinnn
    @Enderfinnn 4 роки тому

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

  • @WoysfuL
    @WoysfuL 5 років тому +3

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

    • @resolution07
      @resolution07  5 років тому

      Для изменения записи необходимо передать 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
      @resolution07  5 років тому

      @Ruslan Elizarov не совсем понял вопрос

    • @viridox260
      @viridox260 4 роки тому

      @@resolution07 А как связать это действие с кнопкой?

    • @resolution07
      @resolution07  4 роки тому

      Virid Ox так же, вызывать внутри обработчика функцию edit

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

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

    • @nort1793
      @nort1793 4 роки тому

      тоже самое

    • @resolution07
      @resolution07  4 роки тому

      Ошибка в SQL запросе

  • @vitalyu3905
    @vitalyu3905 4 роки тому

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

  • @stenzoautomatic
    @stenzoautomatic 4 роки тому

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

    • @resolution07
      @resolution07  4 роки тому

      Выборка по всем записям таблицы?

    • @stenzoautomatic
      @stenzoautomatic 4 роки тому

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

    • @stenzoautomatic
      @stenzoautomatic 4 роки тому

      инф.брал отсюда: www.cyberforum.ru/csharp-net/thread88676.html

    • @stenzoautomatic
      @stenzoautomatic 4 роки тому

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

    • @stenzoautomatic
      @stenzoautomatic 4 роки тому

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

  • @user-tg7hb4gi3k
    @user-tg7hb4gi3k 6 місяців тому

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

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

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

  • @di8974
    @di8974 4 роки тому

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

    • @user-yu4rk6qk3f
      @user-yu4rk6qk3f 4 роки тому +1

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

  • @crypro-top
    @crypro-top 4 роки тому +1

    System.Data.OleDb.OleDbException: "Ошибка синтаксиса в инструкции INSERT INTO."

  • @Sirena0103
    @Sirena0103 7 місяців тому

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

    • @quiettatar
      @quiettatar 7 місяців тому

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

  • @user-qr3zc3fd1u
    @user-qr3zc3fd1u 4 роки тому

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

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

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

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

      @@yaseroga Еще актуально

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

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

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

    Можно прописать поиск данных из базы данных?

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

      Да, можно. Есть несколько вариантов решения задачи

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

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

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

      @@user-xl6cd8it7b vk.com/resolution07 пиши, разберемся

  • @margaritaray9890
    @margaritaray9890 4 роки тому

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

    • @resolution07
      @resolution07  4 роки тому

      обновить библиотеку. инициализировать все объекты

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

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

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

      Ошибка в SQL запросе

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

      Пишет же что, содержит неизвестное имя поля 'AircraftNumber'

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

      Блин дружище уже несколько дней воюю с этой проблемой (

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

      "Ошибка синтаксиса в инструкции INSERT INTO.")

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

    помогите

  • @rishatbaimurzinov2931
    @rishatbaimurzinov2931 4 роки тому

    Че ис как курсач?)