private bool ExecuteNonQuery(SqlCommand command, ThrowExceptionWay exceptionWay) { if (command == null) { return(false); } XstarConnection xstarConnection = GetConnection(); command.Connection = xstarConnection.Connection; bool result; try { if (command.Connection.State != ConnectionState.Open) { command.Connection.Open(); } command.ExecuteNonQuery(); result = true; } catch (Exception ex) { if (exceptionWay == ThrowExceptionWay.Log || exceptionWay == ThrowExceptionWay.LogAndThrow) { Logger.WriteTrace(string.Format("|FROM SqlDataProvider 1013| ExecuteNonQuery | {0}", command.CommandText), Logger.LogTypes.SQL); foreach (SqlParameter par in command.Parameters) { string text = string.Format("{0}: {1} ({2})", par.ParameterName, par.Value, par.DbType); //Logger.WriteTrace(text, Logger.LogTypes.SQL); Logger.WriteTrace(string.Format("|FROM SqlDataProvider 1017| ExecuteNonQuery | {0}", text), Logger.LogTypes.SQL); } Logger.WriteTrace(string.Format("|FROM SqlDataProvider 1019| ExecuteNonQuery | Exption: {0}", ex.Message.ToString())); } if (exceptionWay == ThrowExceptionWay.Throw || exceptionWay == ThrowExceptionWay.LogAndThrow) { throw ex; } result = false; } finally { if (xstarConnection.Connection.State == ConnectionState.Open) { xstarConnection.Connection.Close(); } //xstarConnection.IsBusy = false; } return(result); }
private DataSet GetDataSet(SqlCommand command, ThrowExceptionWay exceptionWay) { if (command == null) { return(null); } XstarConnection xstarConnection = GetConnection(); command.Connection = xstarConnection.Connection; SqlDataAdapter dataAdapter = new SqlDataAdapter(command); DataSet result = new DataSet(); try { dataAdapter.Fill(result); } catch (Exception ex) { if (exceptionWay == ThrowExceptionWay.Log || exceptionWay == ThrowExceptionWay.LogAndThrow) { //Logger.WriteTrace(command.CommandText, Logger.LogTypes.SQL); foreach (SqlParameter par in command.Parameters) { //string text = string.Format("{0}: {1} ({2})", par.ParameterName, (par.Value == null) ? "null" : par.Value.ToString(), par.DbType.ToString()); //Logger.WriteTrace(text, Logger.LogTypes.SQL); } Logger.WriteError("FROM SqlDataProvider 1170| GetDataSet | Exption:"); Logger.WriteTrace(ex); } if (exceptionWay == ThrowExceptionWay.Throw || exceptionWay == ThrowExceptionWay.LogAndThrow) { throw ex; } return(null); } finally { if (xstarConnection.Connection.State == ConnectionState.Open) { xstarConnection.Connection.Close(); } //xstarConnection.IsBusy = false; } return(result); }
private object GetScalar(SqlCommand command, ThrowExceptionWay exceptionWay) { if (command == null) { return(null); } XstarConnection xstarConnection = GetConnection(); command.Connection = xstarConnection.Connection; try { if (command.Connection.State != ConnectionState.Connecting) { command.Connection.Open(); } object res = command.ExecuteScalar(); return(res != DBNull.Value ? res : null); } catch (Exception ex) { if (exceptionWay == ThrowExceptionWay.Log || exceptionWay == ThrowExceptionWay.LogAndThrow) { Logger.WriteTrace(string.Format("|FROM SqlDataProvider 771| GetScalar | {0}", command.CommandText), Logger.LogTypes.SQL); foreach (SqlParameter par in command.Parameters) { string text = string.Format("{0}: {1} ({2})", par.ParameterName, par.Value.ToString(), par.DbType.ToString()); Logger.WriteTrace(string.Format("|FROM SqlDataProvider 775| GetScalar | {0}", text), Logger.LogTypes.SQL); } Logger.WriteTrace(string.Format("|FROM SqlDataProvider 777| GetScalar | Exption: {0}", ex.Message.ToString()), Logger.LogTypes.Exception); } if (exceptionWay == ThrowExceptionWay.Throw || exceptionWay == ThrowExceptionWay.LogAndThrow) { throw ex; } return(null); } finally { if (xstarConnection.Connection.State == ConnectionState.Open) { xstarConnection.Connection.Close(); } //xstarConnection.IsBusy = false; } }
private DataTable GetDataTable(SqlCommand command, ThrowExceptionWay exceptionWay) { if (command == null) { return(null); } XstarConnection xstarConnection = GetConnection(); command.Connection = xstarConnection.Connection; SqlDataAdapter dataAdapter = new SqlDataAdapter(command); DataTable result = new DataTable(); try { dataAdapter.Fill(result); } catch (SqlException ex) { if (exceptionWay == ThrowExceptionWay.Log || exceptionWay == ThrowExceptionWay.LogAndThrow) { var sb = new StringBuilder(); sb.AppendLine(string.Format(" SQL Exception occured: {0}", ex.Message)); sb.AppendLine(string.Format(" CommandText: {0}", command.CommandText)); sb.AppendLine(string.Format(" Command timeout value: {0}", command.CommandTimeout)); foreach (SqlParameter par in command.Parameters) { sb.AppendLine(string.Format("{0}: {1} ({2})", par.ParameterName, par.Value != null ? par.Value.ToString() : null, par.DbType.ToString())); } if (!String.IsNullOrEmpty(ex.StackTrace)) { sb.AppendLine(string.Format("Stack Trace: {0} ", ex.StackTrace)); } if (ex.InnerException != null) { var inner = ex.InnerException; sb.AppendLine(string.Format("Inner Exception: {0} ", inner.Message)); sb.AppendLine(string.Format("Inner Stack Trace: {0} ", inner.StackTrace)); } foreach (var sqlError in ex.Errors.Cast <SqlError>()) { sb.AppendLine(string.Format("Sql Error Message: '{0}'; Class: {1}, Number: {2}", sqlError.Message, sqlError.Class, sqlError.Number)); } Logger.WriteError("FROM SqlDataProvider 1082| GetDataTable | Exption:"); Logger.WriteError(sb.ToString()); } if (exceptionWay == ThrowExceptionWay.Throw || exceptionWay == ThrowExceptionWay.LogAndThrow) { throw ex; } return(null); } catch (Exception ex) { if (exceptionWay == ThrowExceptionWay.Log || exceptionWay == ThrowExceptionWay.LogAndThrow) { Logger.WriteTrace(string.Format("FROM SqlDataProvider 1101| GetDataTable | {0}", command.CommandText), Logger.LogTypes.SQL); foreach (SqlParameter par in command.Parameters) { string text = string.Format("FROM SqlDataProvider 1104| GetDataTable | {0}: {1} ({2})", par.ParameterName, par.Value != null ? par.Value.ToString() : null, par.DbType.ToString()); Logger.WriteTrace(text, Logger.LogTypes.SQL); } Logger.WriteError("FROM SqlDataProvider 1107| GetDataTable | Exption:"); Logger.WriteTrace(ex); } if (exceptionWay == ThrowExceptionWay.Throw || exceptionWay == ThrowExceptionWay.LogAndThrow) { throw ex; } return(null); } finally { if (xstarConnection.Connection.State == ConnectionState.Open) { xstarConnection.Connection.Close(); } } return(result); }