Вниз
Скачать: 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 вся ветка

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



Память: 0.47 MB
Время: 0.018 c
4-82538
DelBoy
2003-07-19 23:27
2003.09.25
Получить выделенную строку с программы


14-82470
СуперТупик
2003-09-06 16:48
2003.09.25
Вирус


6-82364
Diatel
2003-07-28 03:46
2003.09.25
Можно ли менять ИП заголовок с помощью indy


1-82253
Dimich1978
2003-09-15 13:44
2003.09.25
два вопроса?


3-82029
AlexPul
2003-09-05 19:43
2003.09.25
Не могу подключиться к базе данных Interbase




   Наверх