Вниз
Скачать: CL | DM;

вывод в DBGrid   Найти похожие ветки 

← →
pashaz   (2003-11-02 20:33) [0]

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

Спасибо.


← →
aus ©   (2003-11-02 20:40) [1]

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


← →
pashaz   (2003-11-02 20:41) [2]

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


← →
Anatoly Podgoretsky ©   (2003-11-02 20:44) [3]

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


← →
sniknik ©   (2003-11-02 20:47) [4]

результатом 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:53) [5]

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


← →
pashaz   (2003-11-02 20:54) [6]

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


← →
sniknik ©   (2003-11-02 21:05) [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 21:15) [8]

Пишу

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

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

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


← →
sniknik ©   (2003-11-02 21:21) [9]

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

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


← →
Anatoly Podgoretsky ©   (2003-11-02 21:30) [10]

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


← →
pashaz   (2003-11-02 21:35) [11]

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

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


← →
sniknik ©   (2003-11-02 23:16) [12]

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

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


← →
pashaz   (2003-11-03 15:00) [13]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.015 c
3-78848
MORA
2003-11-03 00:46
2003.11.24
Как написать UDF - нужен пример!


3-78825
VP
2003-11-04 17:23
2003.11.24
Quick Report Pro


3-78797
a_andru
2003-11-05 19:08
2003.11.24
Оле Оракл два запроса


1-78884
Maks Realov
2003-11-12 19:51
2003.11.24
Динамические массивы в Паскале - структура?


7-79193
Sever
2003-09-13 21:19
2003.11.24
Поиск по всему PC




   Наверх