I'm new to C# and I have a stored procedure in SQL Server:
DECLARE @return_value int
EXEC @return_value = [dbo].[sp_getUserInfo]
@TelNo = N'2537743007'
SELECT 'Return Value' = @return_value
GO
and try call that with this code:
using (SqlConnection con = new SqlConnection("Data Source=SERVICE;Initial Catalog=InvokeADSL;Integrated Security=True"))
{
using (SqlCommand cmd = new SqlCommand("sp_getUserInfo", con))
{
cmd.CommandType = CommandType.StoredProcedure;
//cmd.Parameters.Add("@FirstName", SqlDbType.VarChar).Value = txtFirstName.Text;
cmd.Parameters.Add("@TelNo", SqlDbType.NVarChar).Value = "253774300";
con.Open();
reader = cmd.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(reader["return_value"].ToString());
}
}
}
but I get an error:
System.IndexOutOfRangeException: return_value
at System.Data.ProviderBase.FieldNameLookup.GetOrdinal(String fieldName) at System.Data.SqlClient.SqlDataReader.GetOrdinal(String name)
at System.Data.SqlClient.SqlDataReader.get_Item(String name)
at ConsoleApplication1.Program.Main(String[] args)
How can I solve that? Thanks.
This is my stored procedure in SQL Server: link to code