Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

вывод в DBGrid [D6, Access]


pashaz ©   (2003-11-02 20:33:00) 

Господа, как осуществить вывод результатов запроса (ADOCommand) в DBGrid?

Спасибо.


pashaz   (2003-11-03 15:00:00) [1]

Спасибо. Не знал про свойство ParamCheck. Вечером попробую.
И попробую применить Recordset с Select"ом.


sniknik   (2003-11-02 23:16:00) [2]

какой крутой запрос однако..., однако через ж%№у.
сначала обычно вносится запрос а уже после параметры к нему определяются, иначе смысла в нем немного (есть исключение если текст при присвоении не меняется, то и параметры не сбросятся, но надеятся на это не надо).
зачем их определять (параметры) если они автоматом создаются? (ParamChek включен?)
смысл команд
ADODataSet1.Recordset.Open();
ADODataSet1.Open;
ADOCommand1.Cancel;
?
ты же рекордсет присваиваеш и уже после выполнения команды, оборвать ее выполнение тоже не успеваеш.
и последнее (но не менее важное) какой рекордсет у команды INSERT INTO? это же не селект.

(показал бы это сначала давно бы ответ получил, в этом случае его открыть невозможно, нет его и открывать нечего)


pashaz   (2003-11-02 21:35:00) [3]

Не всё так просто..

If (Edit2.text="") or (Edit3.text="") or (Edit7.Text="") then
MessageDlg("


Anatoly Podgoretsky   (2003-11-02 21:30:00) [4]

sniknik © (02.11.03 21:05) [7]
Наверно так, иногда приходится заниматься разгадкой, что они хотели сказать.


sniknik   (2003-11-02 21:21:00) [5]

в этом случае можно ничего не указывать (даже open лишнее), CommandType это тип команды действует только на команду.

сделай лутше так (все остальное по умолчанию)
ADODataSet1.Connection:= ADOConnection1;
ADODataSet1.CommandText:= "SELECT * FROM Table";
ADODataSet1.Open;


pashaz   (2003-11-02 21:15:00) [6]

Пишу

ADODataSet1.Open;
ADODataSet1.Recordset := ADOCommand1.Execute;

Но тогда что указать в CommandType для ADODataSet1?

P.S. извините за глупые вопросы


sniknik   (2003-11-02 21:05:00) [7]

pashaz (02.11.03 20:54) [6]
все в твоих руках, хочеш ADOQuery, хочеш как выше ADODataSet1.Recordset := ADOCommand1.Execute;, а можно и в ADODataSet1.

Anatoly Podgoretsky © (02.11.03 20:53) [5]
может они в справке различают Recordset от relultset?
relultset это тогда получается с сохранением результата, ADOCommand ведь ничего не хранит.


pashaz   (2003-11-02 20:54:00) [8]

То есть Вы советуете использовать ADOQuery ?
Тогда как это сделать для ADOQuery?


Anatoly Podgoretsky   (2003-11-02 20:53:00) [9]

sniknik © (02.11.03 20:47) [4]
Может быть, я смотрел справку, там сказано, что не возвращает, если же возвращает, то можно бы было подсоедить к DbGrid
Я сейчас посмотрел по методу, тогда возможно поможет
ADODataSet1.Recordset := ADOCommand1.Execute;


sniknik   (2003-11-02 20:47:00) [10]

результатом ADOCommand является рекордсет, его можно присвоить какомунибудь связаному с гридом DataSet-у.
а лутше пользоватся им для комонд не возврашающих данные (хатя бы не первое время).

Anatoly Podgoretsky © (02.11.03 20:44) [3]
немного не правы
рабочий кусок программы
try
ADOCommand1.CommandText:= sCommand;
Recordset:= ADOCommand1.Execute(RecordsAffected, EmptyParam);
if Recordset.State=1 then RichEdit2.Lines.Add(IntToStr(ErrCount)+" Выполнено применительно к "+IntToStr(Recordset.RecordCount)+" записям")
else RichEdit2.Lines.Add(IntToStr(ErrCount)+" Выполнено применительно к "+IntToStr(RecordsAffected)+" записям. (no recordset)");
id:= 0;


Anatoly Podgoretsky   (2003-11-02 20:44:00) [11]

ADOCommand не возвращает relultset


pashaz   (2003-11-02 20:41:00) [12]

А как конкретно? Я начинающий ))


aus   (2003-11-02 20:40:00) [13]

так же как и для ADOQuery, например...


Наверх

Титульная страница Поиск, карта сайта Написать письмо