Я пытаюсь выяснить способ выполнения следующей хранимой процедуры с использованием C#.Неверная попытка прочитать, когда нет данных с помощью Select From Where
ALTER PROCEDURE spLoadClients
@NetworkingChannel nvarchar(50)
AS
SELECT
Client_Groups
FROM
ClientTable
WHERE
Networking_Channel = (@NetworkingChannel)
RETURN
Хранимая процедура верна. Мне просто нужно найти правильный метод для его выполнения с помощью C#.
Вот что я пробовал:
SqlDataReader reader;
string UpdateCommand = "spLoadClients";
using (SqlConnection sqlConnectionCmdString = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Shawn\Documents\Visual Studio 2010\Projects\Server\database\ClientRegit.mdf;Integrated Security=True;User Instance=True"))
using (SqlCommand sqlCommand = new SqlCommand(UpdateCommand, sqlConnectionCmdString))
{
sqlCommand.CommandType = CommandType.StoredProcedure;
sqlCommand.Parameters.Add("@NetworkingChannel", SqlDbType.NVarChar).Value = IntializedNetworks[i];
sqlConnectionCmdString.Open();
reader = sqlCommand.ExecuteReader();
// Data is accessible through the DataReader object here.
IntializedPostNet[i] = reader[i].ToString(); //trying to add data from reader into an array errors here
sqlConnectionCmdString.Close();
}
Я получаю сообщение об ошибке, что говорит
Invalid попытка чтения, когда нет данных нет.
Что я делаю неправильно?
возможно дубликат [Как выполнить хранимую процедуру в пределах C# программы] (http://stackoverflow.com/questions/1260952/how-to-execute-a-stored-procedure-within-c-sharp -program) –
Я дал более подробную информацию о проблеме, имеющейся у читателя. У меня нет проблем с кастомной хранимой процедурой, но что-то не так, когда я передаю правильные значения, и читатель не возвращает никаких значений. – shawn
Возможно, читатель [i] 'должен читать' reader [0] '? Насколько я вижу, из 'spLoadClients' возвращен только один столбец. –