2010-02-03 3 views
2

У меня возникла проблема с выполнением двух параметризованных вопросов в одной партии с использованием SqlCommand в ADO.NET. (Я хочу уменьшить круглые поездки и избегать пинга)несколько параметризованных sql-операторов в ado.net на SQL Server

Поскольку я не хочу загрязнения плана выполнения, я ожидаю, что ADO.NET преобразует мой CommandText из «stmt1; stmt2» со всеми параметрами, принадлежащими stmt1 и stmt2, добавлен в SqlCommand.Parameters

к:

sp_executesql 'stmt1', 'paramdecl', param1values; 
sp_executesql 'stmt2', 'paramdec2', param2values 

Но я не могу найти способ, чтобы это произошло.

Я также не могу получить полный текст, который отправляется на sql-сервер в SqlCommand, чтобы я мог объединить два из них самостоятельно.

Как это сделать?

С уважением,

Jens Nordenbro

ответ

0

Ожидаете ли вы возвращаемые значения/результирующие наборы из SQL заявления? Являются ли параметры для каждого выражения разными?

Вы можете использовать SQL Profiler для мониторинга статусов SQL, попадающих в базу данных.

Вы можете использовать один объект SQLConnection и отправить несколько команд перед закрытием соединения. вам придется либо отказаться от sqlCommand, либо очистить его, прежде чем снова использовать его для следующего запроса.

Adam

+0

stmt1 ничего не возвращает. stmt2 возвращает что-то. paramdecl! = Paramdec2, как по типу, так и по значению. Несколько команд приводят к pinging, которого я пытаюсь избежать. –