Добавить запись в БД Access
Добавить запись в БД Access
Приветствую. Помогите на простом примере решить проблему. Есть форма след. вида (на скрине). В.
Добавить запись в access(за небольшое вознаграждение)
Очень нужна помощь. Суть вопроса такова. есть программа в MFC C++. Программа связана с БД access.
БД MS Access: как добавить запись в таблицу
Здравствуйте Уважаемые ФормучанЭ .. Тут возник вопрос по поводу добавления данных в БД )) База на.
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Как добавить запись в таблицу MS Access
Приветствую. Подскажите почему такой код невставляет запись в базу данных? string sSQLCommand =.
Как добавить запись в Access в процессе программирования?
Нужно, чтобы при нажатии на кнопку добавлялась новая запись в таблицу и присваивались некие.
Recordset is not open при попытке добавить запись в Access
Всем доброго времени суток.Имею связку подключения adoconnection+adodataset+adocommand. При попытке.
Access Violation при попытке добавить запись в DBMemo
Всем доброго времени суток. Подключён к БД через компоненты.
Внести данные в таблицу Access через Delphi
Как внести данные в таблицу используя значения Edit1 и Edit2 ? При этом внести их нужно в поля Базы Данных Access StudentID и StudentName , где TeacherID равен значению из Edit3 .
ADOQuery1.SQL.Add('INSERT INTO GradeTable (StudentID, StudentName) VALUES (ID, Name);'); ADOQuery1.Parameters.ParamByName('ID').Value := StrToInt(Edit1.Text); ADOQuery1.Parameters.ParamByName('Name').Value := Trim(Edit2.Text);
Пробовал делать так, но это лишь вводит данные в новую строку, а мне нужно чтобы добавляло в уже существующую, где TeacherID = Edit3.Text .
Отслеживать
13.7k 12 12 золотых знаков 43 43 серебряных знака 75 75 бронзовых знаков
Работа с базой данных Access в Delphi
В данной статье рассмотрим как можно реализовать программу, которая сможет работать с данными, размещенными в файле СУБД MS Access. Программе необходимо подключиться к внешнему файлу БД. Затем, в ней должна быть реализована форма, в которой пользователь сможет просматривать записи из таблицы БД, добавлять новые записи, удалять или редактировать их.
Обычно, для работы с текстовым файлом в Delphi достаточно использовать простые команды связи внешнего файла с файловой переменной и команды чтения и записи. Для работы со специализированными файлами приходится использовать дополнительные библиотеки или компоненты. Для решения данной задачи, воспользуемся технологией ADO, а так же соответствующими компонентами, позволяющими отобразить данные на пользовательской форме.
Чтобы организовать работу программы с БД, потребуется следующие компоненты:
— ADOConnection – используется для подключения к БД (закладка палитры ADO, в некоторых версиях dbGO);
— ADOTable – связывается с конкретной таблицей БД (закладка ADO);
— DataSource – компонент, используется как связка данных из таблиц, с отображающими и управляющими компонентами Delphi (закладка Data Access);
— DBGrid – таблица, позволяющая вывести содержимое таблицы БД на пользовательскую форму (закладка Data Controls);
— DBNavigator – кнопочная панель, способная управлять данными в привязанной к ней таблице (закладка Data Controls).
После того, как все компоненты установлены на форму, можно приступить к их настройке. Для решения нашей задачи никакого программного кода не потребуется. Только настройка свойств компонентов:
Свойство ConnectionString компонента ADOConnection
Свойство ConnectionString удобно настраивается в специальных окнах. Открываем редактор свойства ConnectionString в инспекторе объектов кнопкой «…» . В появившемся окне оставляем все настройки как они были по умолчанию и нажимаем кнопку «Build…» .
Получаем еще одно окно с несколькими закладками.
В первой закладке ;Поставщик данных» выбираем в списке «Microsoft.Jet.OLEDB.4.0» и жмем «Далее >>» .
Во второй закладке «Соединение ; в поле «1. Выберете или введите имя базы данных:» жмем «…» и привычным окном выбираем нужный файл БД. Здесь стоит отметить, что при выборе адреса, будет указан полный путь, начиная от корневой директории. При таком указании директории, становится неудобно использование программы на другом компьютере, так как приходится создавать все директории, что и на компьютере, где была создана программа. Чтобы не сталкиваться с такой проблемой, удобней указать относительный путь. Если в этом поле указать только имя файла БД, то программа будет открывать ее из той же директории, где она находится, в какую бы директории ее не разместили. Естественно файл БД должен находиться в той же папке, куда вы сохраняете свой проект Delphi.
Нажимаем кнопку «ОК» .
Снова видим предыдущее окно, но уже с заполненной строкой. Снова нажимаем «ОК» . Все, настройка свойства ConnectionString завершена.
Свойство LoginPrompt компонента ADOConnection
Это свойство логического типа определяет, будет ли при подключении к БД запрашиваться пароль. Пока никакие пароли не нужны, поэтому, чтобы оно не мешало при работе с программой ставим ему значение False.
Свойство Connected компонента ADOConnection
Свойство определяет, выполнено ли подключение в данный момент. Чтобы не подключаться к БД программно после запуска приложения, указываем True. Если после присвоению свойству значения True, Delphi не вывел никаких сообщений об ошибках, значит, все выполнено правильно. В случае ошибок, стоит проверить, правильно ли указано имя файла БД или «Поставщик данных».
Свойство Connection компонента ADOTable
Выбираем из списка созданный и настроенный компонент ADOConnection. Как альтернатива этому свойству у компонента ADOTable есть собственное свойство ConnectionString, которым точно так же можно настроить подключение прямо к БД. Но если планируется работать с несколькими таблицами, гораздо удобней настроить подключение один раз и далее для всех таблиц пользоваться им.
Свойство TableName компонента ADOTable
Выбираем из списка необходимую таблицу из БД.
Свойство Active компонента ADOTable
Свойство, определяющее режим работы компонента. Указываем значение True. Если сообщений об ошибках нет, все нормально. Если есть, проверьте предыдущие два свойства.
Свойство DataSet компонента DataSource
Из списка выбираем нужную таблицу, если их несколько. Обычно для удобства каждой таблице в БД соответствует своя пара ADOTable + DataSource.
На этом настройка невизуальных компонентов, использующихся для работы с данными БД, завешена. После этого нужно настроить пользовательскую форму для вывода информации и предоставления возможностей управления ей.
Свойство DataSource компонентов DBGrid и DBNavigator
Свойство настраивается выбором из списка нужного компонента DataSource.
После всех этих операций получаем программу, которая будет подключаться к вашему файлу БД, выводить данные в простейшей табличной форме. Кнопочная панель позволит перемещаться по записям вперед, назад, перейти к последней или первой, добавлять новые записи, редактировать имеющиеся, а так же удалять не нужные записи.
Рисунок: Подключение Delphi с БД Access
Как добавить запись в access delphi
Вообще-то если работаешь с Query то не стоит доверять методам от DataSet. Луче всего через SQL стандартными его командами.
Почему? Я использую и тот и другой метод в зависмости от поставленной задачи и т.п. Оба варианта устраивают, но вот о том что лучше и почему не задумывалась. Не могли бы как-то просветить (новую тему заводить не стала, думаю автору этой темы оно пригодится)
Мозг, хорошо устроенный, стоит больше, чем мозг, хорошо наполненный (Мишель Монтень)
koma_grusha |
Посмотреть профиль |
Найти ещё сообщения от koma_grusha |
Белик Виталий 🙂
Регистрация: 23.07.2007
Сообщений: 57,792
Не могли бы как-то просветить |
Могу высказать только то на что натыкался. при использовании методов очень частые потери информации и непредсказуемые ошибки типа «не могу писать. «. перешел на SQL — все как часы работало.
Вот те самые Edit и Insert сбоили регулярно.
I’m learning to live.
Редкий обитатель
Форумчанин
Регистрация: 08.04.2009
Сообщений: 170
спасибо!! Действительно, встречается такое, только не думала, что это из за них.
Ну тогда перешем вышеописанное примерно так (при тех же условиях)
ADOQuery.SQL.Text := 'INSERT INTO Students (FIO) VALUES (' + QuotedStr(Edit.Text) + ')'; ADOQuery.ExecSQL;
ADOQuery.SQL.Text := 'UPDATE Students SET FIO = ' + QuotedStr(Edit.Text) + ' WHERE '; ADOQuery.ExecSQL;
ADOQuery.SQL.Text := 'DELETE FROM Students WHERE FIO = ' + QuotedStr(Edit.Text); ADOQuery.ExecSQL;
Мозг, хорошо устроенный, стоит больше, чем мозг, хорошо наполненный (Мишель Монтень)
Последний раз редактировалось koma_grusha; 15.05.2009 в 12:14 .
koma_grusha |
Посмотреть профиль |
Найти ещё сообщения от koma_grusha |