![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Курсоры и ADO [D6, MSSQL]
Sigetta © (2005-10-22 00:03:00)Почему при открытом наборе данных 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-24 13:39:00) [1]если его сделали тем что "покоцали" более универсальный - значит что он как минимум ненужный. а можно сказать, что и "плохой" (вьелся в мозги народу жить без него не могут ;), а ведь есть лучшая замена)
Baltika-17 (2005-10-24 13:34:00) [2]
> Просто TADODataSet универсальнее.
Менее универсальный - не значит плохой.
Megabyte (2005-10-24 13:29:00) [3]
> Baltika-17 (23.10.05 14:27) [7]
> С каких пор TADOQuery стал плох и чем?
Просто TADODataSet универсальнее.
Baltika-17 (2005-10-23 14:27:00) [4]С каких пор TADOQuery стал плох и чем?
Sigetta (2005-10-23 00:11:00) [5]>всегда говорил в ADO три компанента дожны использоваться - конект, датасет, и сомманд
Я читал об этом здесь в форуме. От Table отказался сразу (столкнулся сразу), а вот про "плохость" Query узнал только сейчас.
Спасибо.
sniknik (2005-10-22 22:13:00) [6]> Clear перед ADOQuery.SQL.Add делается.
вообщето именно это я и имел ввиду, Clear не был показан. и у TADOCommand в принципе нету убогой(лишней) надстройки в виде проперти SQL, а в коммандтекст иначе чем перезаписыванием команду не внесеш.
так что (если клер у тебя есть) дело в чемто другом. но вообшето даже неинтересно в чем ;), ADOQuery не пользуюсь, всегда говорил в ADO три компанента дожны использоваться - конект, датасет, и сомманд (ну и RDS но он и так редок и аналога не имеет), остальное должно быть выкинуто... а раз так... ;)
Sigetta (2005-10-22 21:16:00) [7]
по какому признаку решил что не выполняется?
не видно в Query Analyzer в tempdb
(пользуйся бы ты "правильным" TADOCommand вместо TADOQuery то так ошибиться было бы невозможно в принципе)
Да с TADOCommand создается.
я бы сказал, что тут ошибка возможно в другом. не очищается компонент от предыдущей команды.
??? Какой компонент? AdoConnection? Нельзя ли поподробнее...
Clear перед ADOQuery.SQL.Add делается.
Anatoly Podgoretsky (2005-10-22 13:03:00) [8]ADODataSet.Close; Это не надо и непотно зачем оно в данном коде?
Anatoly Podgoretsky (2005-10-22 13:02:00) [9]Должно быть
ADODataSet. Close;
ADOQuery.SQL. Text :='CREATE TABLE ##Tmp (Data smalldatetime, Nom varchar(10), DSumma float, KSumma float, VOpl varchar(50))';
sniknik (2005-10-22 09:47:00) [10]по какому признаку решил что не выполняется?
я бы сказал, что тут ошибка возможно в другом. не очищается компонент от предыдущей команды. (пользуйся бы ты "правильным" TADOCommand вместо TADOQuery то так ошибиться было бы невозможно в принципе)