Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.25;
Скачать: CL | DM;

Вниз

TSQLClientDataSet и метод Execute???   Найти похожие ветки 

 
Max_   (2003-09-04 17:03) [0]

У меня такая вот цепочка(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?


 
Nikolay M. ©   (2003-09-04 17:10) [1]

Открываем хелп на Execute, читаем:

Executes an SQL command by the provider’s dataset.


 
Max_   (2003-09-04 17:35) [2]

В том то и дело, что Executes an SQL command by the provider’s dataset. А ты (Nikolay M.) задайся вопросом: Что такое TSQLClientDataSet? Это случайно не два в одном- DataSet Provider+ClientDataSet!!!!! Я не зря цепочку показал!
P.S. и Help не надо учить меня читать! :)


 
Nikolay M. ©   (2003-09-04 17:38) [3]

Угу, поторопился, просмотрел :)
Тогда я - пас.


 
Arm79 ©   (2003-09-04 18:39) [4]

А нельзя использовать SQLClientDataSet1.ApplayUpdates?


 
Vlad ©   (2003-09-04 19:01) [5]

С какой СУБД работаешь ? Если с ораклом, то наверное update в begin - блок заключать надо


 
Max_   (2003-09-05 10:18) [6]

С ораклом, с ораклом! :) update в begin??? Это как?

begin
SQLClientDataSet1.Close;
SQLClientDataSet1.CommandText:="update my_table set field=2";
SQLClientDataSet1.Execute;
end;

:) :) :) Неееееее, мне кажется здесь что-то другое!


 
Vlad ©   (2003-09-05 10:22) [7]

>Max_ (05.09.03 10:18) [6]
ты че не проснулся чтоли ? :-)
Я чесно говоря не пользовался SQLClientDataSet, но есть подозрение что CommandText нужно писать так:
"Begin update my_table set field=2; End;"
В оракле это называется анонимный бегин-блок.


 
Max_   (2003-09-05 10:42) [8]

Я с ораклом работаю уж 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:50) [9]

Тогда лишь могу посоветовать смотреть исходники метода
SQLClientDataSet1.Execute...



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

Текущий архив: 2003.09.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
1-82179
fender
2003-09-12 14:29
2003.09.25
Активность


1-82251
AHTOH
2003-09-14 22:19
2003.09.25
Стандартное меню для TEdit в виндах


14-82457
Aspirin
2003-09-07 17:03
2003.09.25
Как сделать чтобы форма была в центре экрана?


1-82217
borg
2003-09-12 08:04
2003.09.25
Правая кнопка мыши


7-82531
$hade
2003-07-15 11:14
2003.09.25
CD-R/RW