|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Как в DBGrid добавить данные из Edit
Здравствуйте!
Подскажите пожалуйста, как в DBGrid добавить данные из Edit? Есть Form1, на которой расположены ADOConnection, ADOQuery, DataSource и DBGrid. База подключена из SQL Server. На Form2 расположены пустые Edit-ы для заполнения. И нужно чтоб при нажатии на Form2 кнопки "Добавить" в Form1.DBGrid добавлялась новая строка с данными из Edit-ов в соответствующие столбцы. |
#2
|
||||
|
||||
А вы уверены, что вам нужны Edit может лучше DBEdit использовать?
Но если все-же нужны именно Edit то придется добавление записи реализовать ручками: Код:
procedure TForm12.Button1Click(Sender: TObject); begin ADOQuery1.AppendRecord([null,Edit1.Text,Edit2.Text,Edit3.Text]); end; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение: | ||
VinexN (22.12.2016)
|
#3
|
||||
|
||||
спасибо )
А через DBEdit как? Я просто не знала о таком... |
#4
|
||||
|
||||
Цитата:
Ставишь на форму DBEdit в DataSource выбираешь базу, в DataField выбираешь нужное поле и т.д. |
#5
|
||||
|
||||
Спасибо , а какой нибудь код к процедуре нажатия кнопки не надо написать? Надо ведь, чтоб мы заполнили поля DBEdit, нажали "Добавить" и в таблицу другой формы добавляются соответствующие данные.
И в DBEdit у меня почему-то нельзя вписать никакой текст О_о |
#6
|
|||
|
|||
Чтобы в DBEdit вводить текст, сперва нужно таблицу перевести в режим добавления новой записи или же редактирования. Можно, к примеру, прописать при открытии формы код ADOQuery.Insert (режим добавления записи). Вводишь в DBEdit какие-то данные, предварительно не забыв настроить компонент на нужный столбец таблицы. На кнопке "Добавить" код ADOQuery.Post (сохраняет запись). И еще бы я посоветовала при закрытии Form2 прописать код ADOQuery.Cancel, чтобы никакие данные не сохранились. Да и кнопку "Отмена" тоже можно сделать и прописать такой же код. Вообще, я бы ручками добавляла данные в базу из обычных Edit-ов
И не забудь написать команду, чтобы обновить таблицу и чтобы новые введенные данные отобразились в DBGrid: Код:
ADOQuery.Active:=false; ADOQuery.Active:=true; Последний раз редактировалось Alana, 16.12.2010 в 15:59. |
#7
|
||||
|
||||
Цитата:
Что то Я сколько писал программ для баз данных ни разу не сталкивался с тем, что если не выполнена команда POST, что то сохранилась. И зачем отключатся от базы снова Подключаться? DBGrid и так прекрасно все видит? ИЛИ Я ТУПЛЮ? |
#8
|
|||
|
|||
Цитата:
а вот кверик с запросом не селект к таблице не увидит обновленные записи, т.к. набор данных был получен раньше вносимых изменений, поэтому и необходимо переоткрыть запрос. Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение" |
#9
|
|||
|
|||
Скажите пожалуйста, если сделать как описано выше, то можно менять только первую строку, а новую добавить не получается, как быть?
|
#10
|
|||
|
|||
Он как раз и добавит строку а не отредактирует.
Хотя лично я предпочитаю использовать запросы Insert/Update/Delete Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение" |
#11
|
|||
|
|||
Цитата:
А DBGrid не увидит изменений, если не обновить таблицу, к которой он привязан. Если вы сколько писали программ, работающих с базой, то должны были заметить все подобные тонкости. Даже в универе по поводу обновления таблицы после вставки говорили. Последний раз редактировалось Alana, 17.12.2010 в 08:28. |
#12
|
||||
|
||||
Цитата:
В данный момент пишу программу автоматизация такси, почти дописана версия 1.1, 1.0 уже работает. Конечно я отключаю и включаю таблицу, НО дело в том что её используют 10 диспетчеров(И без этого они тупа не увидят друг друга), а если на одного пользователя у меня и так все прекрасно работает, Просто надо отслеживать Были ли изменения, если Да то сохранить, если нет то и ни каких клюков не будет. |
#13
|
|||
|
|||
Цитата:
Очевидно для доступа вы используете Table ? и интересно база на чем?Paradox? Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение" |
#14
|
||||
|
||||
SQLServer2005 Компоненты ADOTable,ADOQuery,ADODataSource.
Смотря что выполнить. |
#15
|
|||
|
|||
Цитата:
|