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

Курсоры и ADO   Найти похожие ветки 

← →
Sigetta ©   (2005-10-22 00:03) [0]

Почему при открытом наборе данных ADODataSet с CursorLocation=clUseServer
не выполняются запрос вида "CREATE TABLE ..." ,
если ADODataSet и ADOQuery принадлежат одному ADOConnection.

ADODataSet.Connection:=ADOConnection1
ADOQuery.Connection:=ADOConnection1
ADODataSet.CursorLocation:=clUseServer

ADODataSet.Open;
ADOQuery.SQL.Add("CREATE TABLE ##Tmp (Data smalldatetime, Nom varchar(10), DSumma float, KSumma float, VOpl varchar(50))");
ADOQuery.ExecSQL;


← →
sniknik ©   (2005-10-22 09:47) [1]

по какому признаку решил что не выполняется?

я бы сказал, что тут ошибка возможно в другом. не очищается компонент от предыдущей команды. (пользуйся бы ты "правильным" TADOCommand вместо TADOQuery то так ошибиться было бы невозможно в принципе)


← →
Anatoly Podgoretsky ©   (2005-10-22 13:02) [2]

Должно быть
ADODataSet.Close;
ADOQuery.SQL.Text := "CREATE TABLE ##Tmp (Data smalldatetime, Nom varchar(10), DSumma float, KSumma float, VOpl varchar(50))";


← →
Anatoly Podgoretsky ©   (2005-10-22 13:03) [3]

ADODataSet.Close; Это не надо и непотно зачем оно в данном коде?


← →
Sigetta ©   (2005-10-22 21:16) [4]


по какому признаку решил что не выполняется?

не видно в Query Analyzer в tempdb


(пользуйся бы ты "правильным" TADOCommand вместо TADOQuery то так ошибиться было бы невозможно в принципе)

Да с TADOCommand создается.


я бы сказал, что тут ошибка возможно в другом. не очищается компонент от предыдущей команды.


??? Какой компонент? AdoConnection? Нельзя ли поподробнее...
Clear перед ADOQuery.SQL.Add делается.


← →
sniknik ©   (2005-10-22 22:13) [5]

> Clear перед ADOQuery.SQL.Add делается.
вообщето именно это я и имел ввиду, Clear не был показан. и у TADOCommand  в принципе нету убогой(лишней) надстройки в виде проперти SQL, а в коммандтекст иначе чем перезаписыванием команду не внесеш.

так что (если клер у тебя есть)  дело в чемто другом. но вообшето даже неинтересно в чем ;), ADOQuery не пользуюсь, всегда говорил в ADO три компанента дожны использоваться - конект, датасет, и сомманд (ну и RDS но он и так редок и аналога не имеет), остальное должно быть выкинуто... а раз так... ;)


← →
Sigetta ©   (2005-10-23 00:11) [6]

>всегда говорил в ADO три компанента дожны использоваться - конект, датасет, и сомманд

Я читал об этом здесь в форуме. От Table отказался сразу (столкнулся сразу), а вот про "плохость" Query узнал только сейчас.

Спасибо.


← →
Baltika-17   (2005-10-23 14:27) [7]

С каких пор TADOQuery стал плох и чем?


← →
Megabyte ©   (2005-10-24 13:29) [8]


> Baltika-17   (23.10.05 14:27) [7]
> С каких пор TADOQuery стал плох и чем?

Просто TADODataSet универсальнее.


← →
Baltika-17   (2005-10-24 13:34) [9]


> Просто TADODataSet универсальнее.


Менее универсальный - не значит плохой.


← →
sniknik ©   (2005-10-24 13:39) [10]

если его сделали тем что "покоцали" более универсальный - значит что он как минимум ненужный. а можно сказать, что и "плохой" (вьелся в мозги народу жить без него не могут ;), а ведь есть лучшая замена)



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

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



Память: 0.47 MB
Время: 0.028 c
1-1131694544
Deka
2005-11-11 10:35
2005.12.11
Оптимизация под конкретный процессор в Дельфи...


2-1132688533
HeavyMaster
2005-11-22 22:42
2005.12.11
UpDown


1-1131700195
IGray
2005-11-11 12:09
2005.12.11
Как узнать, загружена ли чужая DLL abc.dll в память?


4-1128801147
Orange
2005-10-08 23:52
2005.12.11
функция CreateFile завершается неудачей.


14-1132221764
Crazy_Diman
2005-11-17 13:02
2005.12.11
Графика




   Наверх