Форум: "Базы";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];
Внизвывод в 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 вся ветка
Форум: "Базы";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.352 c