This code throws a NullReferenceException when it calls ExecuteScalar:
selectedPassengerID = 0; //SqlCommand command = GenericDataAccess.CreateCommand(); // 2nd test string connectionString = ''; SqlConnection conn; connectionString = ConfigurationManager. ConnectionStrings['ConnST-MHM'].ConnectionString; conn = new SqlConnection(connectionString); SqlCommand command = new SqlCommand(); command.CommandType = CommandType.StoredProcedure ; command.Connection = conn; command.CommandText = 'SearchForPassenger'; SqlParameter param; param = command.CreateParameter(); param.ParameterName = '@name'; param.Value = pName; // Session['']; param.DbType = DbType.String; command.Parameters.Add(param); param = command.CreateParameter(); param.ParameterName = '@flightDate'; param.Value = date; param.DbType = DbType.String; command.Parameters.Add(param); param = command.CreateParameter(); param.ParameterName = '@ticketNo'; param.Value = ticketNumber; param.DbType = DbType.Int32; command.Parameters.Add(param); int item; command.Connection.Open(); item = (int)command.ExecuteScalar();
I have encapsulated most of my SQL logic in a DAL. One of these DAL methods pulls scalar Ints using the following logic. It may work for you:
I know that you have entered a lot of code above but I think that this is really the essence of your problem. Good luck!