|
Проблема выполнения запроса через CommadType=Text
|
|||
---|---|---|---|
#18+
Есть следующий текст запроса: if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[t1]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[t1] GO CREATE TABLE [dbo].[t1]( [{0}ID] [int] IDENTITY (1, 1) NOT NULL , [{0}GUID] [uniqueidentifier] NOT NULL , [CrDate] [timestamp] NULL , CONSTRAINT [{0}_PK] PRIMARY KEY CLUSTERED ( [{0}ID], [{0}GUID] ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO Этот текст (на самом деле некоторый шаблон) после считывания из некоторого хранилища записывается в переменную типа string. Cимволы перевода каретки уже представляются как "\r\n". Этот текст запроса передается в SqlCommand и выполняется ExecuteNonQuery(). SQL ругается на неверный ситаксис в строках с GO. Без GO, естественно, этот запрос не работает. Причем, сам SQL вроде "переваривает" '\r\n", так как пишет ошибку не в строке 1, а в строках 4 и 16. И если только убрать GO и проверку на существование таблицы, то все работает. Но мне нужна эта ПРОВЕРКА! А выносить в отдельный запрос не хотелосьбы. Поможите, кто чем пожет... Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2003, 16:31 |
|
Проблема выполнения запроса через CommadType=Text
|
|||
---|---|---|---|
#18+
То, что разделено GO нужно выполнить разными запросами последовательно, а не в одном. Само GO писать не нужно, сервер это не поймет, так как в T-SQL нету оператора GO. Про GO знает только QA и EM, оно им служит указанием, что опять же нужно выполнить в разных батчах то, что между GO. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2003, 10:25 |
|
|
start [/forum/topic.php?fid=17&msg=32302557&tid=1354290]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
72ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 245ms |
total: | 410ms |
0 / 0 |