Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» ADOCommand и Delphi

Автор: saltmi1
Дата сообщения: 27.07.2007 10:33
ADO для меня довольно новая область.
Хочу занести в таблицу (Access) имя клиента. Использую ADOCommand. Пишу:

Код:
With ADOCommand1.Parameters do
begin
ParamByName('NAME').Value := edtSNimi.Text;
end;
ADOCommand1.Execute;
Автор: dyr farot
Дата сообщения: 27.07.2007 11:08
что за ошибка вылетает?
и при чем тут обновление таблицы? -- она обновляется в момент вызова Execute
для чего использовать ADOCommand написанно в справке: Used primarily to execute commands (SQL statements that do not return result sets);
тут:
http://info.borland.com/techpubs/delphi/delphi5/dg/ado_comp.html
http://www.tek-tips.com/viewthread.cfm?qid=803076
почитай...
Автор: saltmi1
Дата сообщения: 27.07.2007 16:32
dyr farot
Либо я не понял, либо ты. Вопрос - чем заменить Requery или Close-Open при использовании ADOCommand?

Добавлено:
dyr farot
Либо я не понял, либо ты. Вопрос - чем заменить Requery или Close-Open при использовании ADOCommand?
Автор: OdesitVadim
Дата сообщения: 29.07.2007 00:36
Для ADOCommand не надо Requery или Close-Open. Ибо он работает по принципу "послал-выполняй". Может, если вы приведёте текст ошибки, проблема проясниться.
Сам многократно пользовался ADOCommand и не испытываю никаких неудобств.

Хотя модуль телепатии подсказывает мне, где искать ошибку.
Я обычно использую его так:

Код:
ADOCommand.Command:='insert into ..........';
ADOCommand.Execute;
Автор: denisimo
Дата сообщения: 30.07.2007 21:26
по моему проще сформиравить запрос insert into ........
и не надо тут ничего изобретать!!!
Автор: delover
Дата сообщения: 31.07.2007 10:22
saltmi1
Если два раза вызвать execute то первый раз запись вставляется, а второй раз запись уже вставлена и происходит исключение. Думаю параметр NAME индексирован, тогда попробуй перед каждым execute присваивать параметру NAME новое значение например Пупкин_1, Пупкин2 и т.д.
Автор: saltmi1
Дата сообщения: 31.07.2007 20:24
delover
Это именно то, что происходит. Но я не понимаю почему. Если у меня Name считывается с EditBox и текст в боксе меняется передч новым Execute, то почему исключение? Или ты имеешь в виду, что надо параметру присваивать каждый раз новое имя? Еслт так то как это выглядит в коде?

Страницы: 1

Предыдущая тема: Delphi Shell Extension


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.