![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Можно ли выполнить скрипт через ADO ? [D6, MSSQL, ]
sashak © (2001-12-28 15:24:00)Компоненты ADO в Delphi могут выполнять лишь одну команду. Можно ли выполнить набор команд(Create table, и.т.д.) т.е. скрипт сразу , а не по 1 команде?
Delirium (2002-01-03 14:39:00) [1]Показал бы скрипт - посмотрели бы ...
Delirium (2002-01-03 14:37:00) [2]>SashaK
Постоянно использую скрипты, отточенные в QueryAnalyzer и ещё ни разу ни каких проблем не возникало. В том числе всякого рода Create..., единствено "go" не пиши, вот и всё.
AlexFF (2002-01-03 14:10:00) [3]Читаешь Скрипт как бинарный файлик и организуешь цикл по чтению
строки по нахождении GO запускаешь Запрос.
Все равно как.
handra (2001-12-29 10:35:00) [4]Все работает, только "GO" из скрипта убрать надо...
kig (2001-12-28 18:54:00) [5]Ну go там точно не нужно...)
По поводу вываливается - как? Просто не выполняет или ...?
Дело в том, что у меня Д не стоит, развернутую справку дать по компонентам не могу, но то что батчи спокойно проходит в ADODB.Command - это точно... MS даже советует - если Вам нужны вложенные транзакции (ADO вложенные не проддерживает) - используйте батчи...
Посмотрите TADOQuery - кажется этот компонент обертка вокруг ADODB.Command...
SashaK (2001-12-28 18:13:00) [6]> all
Благодарю всех за ответы, однако мужики вы неправы!!!
Я бы не писал вопрос, если бы сам не пробовал возиться со всеми компонентами.Все компоненты(ADOConnection и др.) выполняют лишь 1 команду (оператор). А на скрипт они просто вываливаются на 2 -ой команде. Я уже не говорю про всякие "GO"(это понимает лишь QueryAnalyzer и означает для него окончание батча)
kig (2001-12-28 17:48:00) [7]Да, выразился я не очень ...так что вопрос не глупый ))
Я имел ввиду, что в данной связке (ADO - MSSQL), в ADODB.Command можно св-ве CommandText задать не одно предложение T-SQL, а много, так называемый Batch...
В Д5 обертка вокруг ADODB.Command кажется называется TADOQuery
(метод ExecSQL)
В Д6 наверно так же...
Romul (2001-12-28 17:46:00) [8]Используй ADOConnection.Execute(SqlText,..);
SqlText просто переменная типа String и туда записывай сколько хош команд, типа
SqlText:="Select ......";
SqlText:=SqlText+"Update....";
Только следи чтобы в запросах логика была ;))
Belov (2001-12-28 17:45:00) [9]CREATE TABLE Bla- bla-bla
GO
DROP TABLE Bla-Bla-Bla
SashaK (2001-12-28 16:05:00) [10]Извините за глупый вопрос, но как это "выталкивайте через ADO в MSSQL"?(через какие компоненты)
kig (2001-12-28 15:36:00) [11]А почему вы решили, что одну? И при чем здесь ADO?
Вот если бы Вы работали на IB5.x - тады ой - тогда только по одной команде.
А в той связке, что у Вас - пишите задание, как Вы его написали бы в QueryAnalyzer - выталкивайте через ADO в MSSQL.