Как избежать того, чтобы ссылка на объект не была установлена на ошибку экземпляра?
Как избежать того, чтобы ссылка на объект не была установлена на ошибку экземпляра? Я получаю эту ошибку только после установки и развертывания. Он отлично работает в режиме отладки и выпуска в среде visual studio? Изначально управление начинается с функции getproject (). Затем он вызывает свойство obOpenedSqlConnection.
public class OutlookDataAccess { #region Public Methods and Properties SqlConnection _sqlConnection; //= new SqlConnection(); // null; SqlCommand obSqlCommand; SqlDataAdapter obSqlDataAdapter; SqlParameter parm; //SqlConnection _sqlConnection = new SqlConnection(); public SqlConnection obOpenedSqlConnection { get { MessageBox.Show("Before Open"); if (_sqlConnection != null) { MessageBox.Show("inside Open"); if (_sqlConnection.State == ConnectionState.Closed) { try { MessageBox.Show( "Before Open"); _sqlConnection.Open(); } catch (Exception ex) { MessageBox.Show("Open Exception"); throw ex; } } return _sqlConnection; } else { var connectionString = ConfigurationManager.ConnectionStrings["OutlookConnectionStringLocal"].ConnectionString; MessageBox.Show("Before Connection creation"); _sqlConnection = new SqlConnection(connectionString); MessageBox.Show("After Connection creation"); return _sqlConnection; } } } private void CloseSqlConnection() { if (_sqlConnection != null) { if (_sqlConnection.State == ConnectionState.Open) _sqlConnection.Close(); } } private void ClearCommandParameters() { if (obSqlCommand != null) { obSqlCommand.Parameters.Clear(); } } private DataTable GetOutputDataTable(SqlDataAdapter sqlDataAdapter) { DataTable dataTable = new DataTable(); if (sqlDataAdapter != null) { sqlDataAdapter.Fill(dataTable); ClearCommandParameters(); } return dataTable; } public DataTable GetProject(string emailId) { try { MessageBox.Show("inside get project"); obSqlCommand = new SqlCommand("sp_GetClientContact", obOpenedSqlConnection); //MessageBox.Show(emailId, "getprojectid"); obSqlCommand.CommandType = CommandType.StoredProcedure; obSqlCommand.Parameters.AddWithValue("@emailId", emailId); obSqlDataAdapter = new SqlDataAdapter(obSqlCommand); } catch (Exception exp) { MessageBox.Show(exp.ToString(), "invalid object"); throw exp; } finally { CloseSqlConnection(); } return GetOutputDataTable(obSqlDataAdapter); } }
Santhosh Kumar Jayaraman
Откуда у вас эта ошибка?какая линия?