![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 08.11.2008
Сообщений: 52
|
![]()
Темa: ADOQuery, добавление в таблицу.
Здраствуйте, я только учуся прогать, очень прошу помочь с добавлением в таблицу через компоненты ADO. Чтоб все вопросы отпали: - БД пишется на SQL Managment Studio 2005; - Приложение в Delphi 7; - Связывал базу и приложение через комопоненты ADO; - Все ADO компоненты содержатся на DataModule; - Таблицы привязаны с DataSet'ами; - Имеются DataSource для связи с ADOQuery; - Имя полей таблицы, в которую добавляются данные: "PK_Brand" (это первичный ключ, тип integer, свойство identity - yes) и "Brand"(тип varchar) - На форме Form1 содержится DBGrid который привязан к датасурсу таблицы бренд, а также содержится edit. Итак на одной из форм на событие "нажатие" кнопки написал такой код для добавление в таблицу: Код:
Если вы предложите использование параметра пожалуйста привидите пример кода и как этим параметром вообще пользоватся... Если бы пользовался компонентами BDE то код выглядел следующим бы образом думаю: Код:
Последний раз редактировалось Stilet; 04.03.2010 в 14:16. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
1) запомните.
Если получаете данные из запроса, делаете ему .Open если же изменяете данные (Insert / Delete / update ) То выполняете ВашdataSet.ExecSQL; 2) никаких хитростей в ADO нет! можете поступать ТОЧНО так же, как Вы поступали с DBE (только обращение к параметрам идёт через коллекцию .Parameters) примерно так: Код:
Последний раз редактировалось Serge_Bliznykov; 04.03.2010 в 15:43. |
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 08.11.2008
Сообщений: 52
|
![]() Цитата:
Такой вопрос, в коллекции parametrs выбираем ParamByName, а дальше типы не выбираются... После точки нет AsString, AsInteger и т.д. И когда пробую в ручном порядке набить, то выдается ошибка, в которой говорится мол левая часть кода не может связаться с правой. Полазил по форуму, где-то использовали Value, вроде работает: Код:
Параметр не найден =\ И еще такой вопрос, как обновить записи в DBGrid? На данный момент код выглядит так: Код:
Последний раз редактировалось Explosion; 05.03.2010 в 12:20. |
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Вы не обратили внимание, а я ведь в своём примере (пост #2) не зря, сначала задал текст запроса,
а потом уже задавал параметер!!! Это это важно! (удивительно, как у Вас первый раз срабатывает ![]() Код:
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 08.11.2008
Сообщений: 52
|
![]()
Serge_Bliznykov, спасибо вам за помощь =-) Надеюсь эта тема поможет не только мне.
И все-таки логику я так и не уловил... Почему мы используем параметр, у которого еще не определено значение, в тексте запроса и только после текста запроса присваиваем значение параметру? Я просто наверно "параметр" не правильно представляю в голове, для меня это как переменная, которую используют в запросах, а ведь если это переменная то ее нельзя использовать в выражениях предварительно не присвоив значения. P.S. ДБГрид обновлятся ни в какую не хочет =[ Последний раз редактировалось Explosion; 10.03.2010 в 10:03. |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 08.11.2008
Сообщений: 52
|
![]()
Если кому-то это в будущем поможет, то чтоб обновить ДБГрид надо было отсоединится от таблицы и снова присоединится, то есть в моем случае тупо:
Код:
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
добавление записей в таблицу | MDmitry | PHP | 3 | 27.12.2009 11:08 |
Добавление данных в таблицу. | Hobbit_88 | БД в Delphi | 11 | 06.06.2009 13:52 |
Добавление даты в таблицу | smoky | Microsoft Office Access | 5 | 24.11.2008 12:56 |
Дбавление в таблицу из запроса ADOQuery. | VladimirAleks | БД в Delphi | 2 | 12.09.2007 13:49 |
добавление записей в таблицу | strannik | БД в Delphi | 5 | 10.05.2007 08:12 |