Результаты ADO.NET из хранимой процедуры в виде строки

Я исключаю использование действительно медленного веб-сервиса, подключаясь к базе данных напрямую через ADO.NET. SP, который я выполняю, возвращает результаты в виде XML (для XML Auto), и я хочу сохранить ответ в виде строки. Будет ли работать ExecuteScaler или это лучший способ сделать это.

SqlCommand cmd = new SqlCommand("iweb_spx_controls_attributes", sqlConn);
cmd.Parameters.Add(new SqlParameter("@page_idASPX", pageID));
cmd.Parameters.Add(new SqlParameter("@user_id", userID));
cmd.CommandType = CommandType.StoredProcedure;

string reSults = (string)cmd.ExecuteScalar();
return reSults; 

person Chris Lombardi    schedule 15.11.2013    source источник


Ответы (2)


Это подробно описывает ваш вопрос и может быть полезно.

ExecuteScalar vs ExecuteNonQuery при возврате значения идентификатора

Вы также можете выполнить поиск в Google и просмотреть автоматические предложения, которые он вам дает.

person tintyethan    schedule 15.11.2013

Альтернативой является использование SqlCommand.ExecuteXmlReader(), который дает вам больший контроль над тем, как вы можете интерпретировать свой набор результатов (и, вероятно, будет работать лучше, если у вас есть большой большой двоичный объект Xml для отправки обратно).

person Sven Grosen    schedule 15.11.2013