![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TSQLClientDataSet и метод Execute??? [D6]
Max_ © (2003-09-04 17:03:00)
У меня такая вот цепочка(dbExpress):
TSQLConnection->TSQLClientDataSet->TDataSource->TDBgrid
1) Когда я запускаю так:
SQLClientDataSet1.Close;
SQLClientDataSet1.CommandText:="select * from my_table";
SQLClientDataSet1.Open;
все прекрасно работает, но когда я хочу выполнить Update и пишу
вот так:
SQLClientDataSet1.Close;
SQLClientDataSet1.CommandText:="update my_table set field=2";
SQLClientDataSet1.Execute;
то выдаёт ошибку, что запрос не определён! Как выполнять Update, Delete, Insert через Execute?
Vlad (2003-09-05 10:50:00) [1]
Тогда лишь могу посоветовать смотреть исходники метода
SQLClientDataSet1.Execute...
Max_ (2003-09-05 10:42:00) [2]
Я с ораклом работаю уж 2 года и не встречал что-бы единственный Update требовал бегин-блок. Это же не Microsoft SQL Server где GO для пакетов писать нужно в некоторых случаях:
use northwind
go
create view my_view as select * from my_table
go
Ошибку не Оракл выдаёт, а Delphi: SQL Statement for dataset is not defined!
Vlad (2003-09-05 10:22:00) [3]
>Max_ (05.09.03 10:18) [6]
ты че не проснулся чтоли ? :-)
Я чесно говоря не пользовался SQLClientDataSet, но есть подозрение что CommandText нужно писать так:
"Begin update my_table set field=2; End;"
В оракле это называется анонимный бегин-блок.
Max_ (2003-09-05 10:18:00) [4]
С ораклом, с ораклом! :) update в begin??? Это как?
begin
SQLClientDataSet1.Close;
SQLClientDataSet1.CommandText:="update my_table set field=2";
SQLClientDataSet1.Execute;
end;
:) :) :) Неееееее, мне кажется здесь что-то другое!
Vlad (2003-09-04 19:01:00) [5]
С какой СУБД работаешь ? Если с ораклом, то наверное update в begin - блок заключать надо
Arm79 (2003-09-04 18:39:00) [6]
А нельзя использовать SQLClientDataSet1.ApplayUpdates?
Nikolay M. (2003-09-04 17:38:00) [7]
Угу, поторопился, просмотрел :)
Тогда я - пас.
Max_ (2003-09-04 17:35:00) [8]
В том то и дело, что Executes an SQL command by the provider’s dataset. А ты (Nikolay M.) задайся вопросом: Что такое TSQLClientDataSet? Это случайно не два в одном- DataSet Provider+ClientDataSet!!!!! Я не зря цепочку показал!
P.S. и Help не надо учить меня читать! :)
Nikolay M. (2003-09-04 17:10:00) [9]
Открываем хелп на Execute, читаем:
Executes an SQL command by the provider’s dataset.