В C # ADO.NET, как я могу узнать, что sproc возвратил 0 строк, а у sproc нет команд для запуска на TSQL?
Позвольте мне изложить это полностью. В TSQL у меня есть (когда я открываю это в SSMS)
ALTER PROC mySproc
@myvar VARCHAR(10)
AS
/* commented out on dev system - uncomment on production */
/* guess what didn't happen */
/* careful readers will note that we _normally_
throw an exception when we do this. this sproc was missing said exception. */
При запуске в SSMS mySproc 'value'
это говорит: «Команда (ы) выполнена успешно». В более благоприятных обстоятельствах (то есть просто данные не возвращаются, но тело sproc фактически выполняется), оно вернуло бы то, что выглядело как таблица, но без строк.
и в C #:
using( SqlDataReader reader = cmd.ExecuteReader() ){
//reader.HasRows == false
}
Итак, это то, с чем я столкнулся, и без использования «отражения SQL» (т.е. чтения реального сценария в базе данных) и без использования ORM (потому что тогда я знал бы, что посылаю правильные команды, но мы имеем наши причины использования sprocs, конечно) ...
Как узнать, что я получил результат "Команда (и) успешно выполнена". вместо потенциальной таблицы без строк?