public esTraceArguments(esDataRequest request, IDbCommand cmd, string action, string callStack) { PacketOrder = Interlocked.Increment(ref esTraceArguments.packetOrder); this.command = cmd; TraceChannel = DataProvider.sTraceChannel; Syntax = "SYBASE"; Request = request; ThreadId = Thread.CurrentThread.ManagedThreadId; Action = action; CallStack = callStack; SqlCommand = cmd; ApplicationName = System.IO.Path.GetFileName(System.Reflection.Assembly.GetExecutingAssembly().Location); IDataParameterCollection parameters = cmd.Parameters; if (parameters.Count > 0) { Parameters = new List<ITraceParameter>(parameters.Count); for (int i = 0; i < parameters.Count; i++) { SAParameter param = parameters[i] as SAParameter; esTraceParameter p = new esTraceParameter() { Name = param.ParameterName, Direction = param.Direction.ToString(), ParamType = param.SADbType.ToString().ToUpper(), BeforeValue = param.Value != null && param.Value != DBNull.Value ? Convert.ToString(param.Value) : "null" }; this.Parameters.Add(p); } } stopwatch = Stopwatch.StartNew(); }
public esTraceArguments(esDataRequest request, IDbCommand cmd, esEntitySavePacket packet, string action, string callStack) { PacketOrder = Interlocked.Increment(ref esTraceArguments.packetOrder); this.command = cmd; TraceChannel = DataProvider.sTraceChannel; Syntax = "SYBASE"; Request = request; ThreadId = Thread.CurrentThread.ManagedThreadId; Action = action; CallStack = callStack; SqlCommand = cmd; ApplicationName = System.IO.Path.GetFileName(System.Reflection.Assembly.GetExecutingAssembly().Location); IDataParameterCollection parameters = cmd.Parameters; if (parameters.Count > 0) { Parameters = new List<ITraceParameter>(parameters.Count); for (int i = 0; i < parameters.Count; i++) { SAParameter param = parameters[i] as SAParameter; esTraceParameter p = new esTraceParameter() { Name = param.ParameterName, Direction = param.Direction.ToString(), ParamType = param.SADbType.ToString().ToUpper(), BeforeValue = param.Value != null && param.Value != DBNull.Value ? Convert.ToString(param.Value) : "null" }; try { // Let's make it look like we're using parameters for the profiler if (param.Value == null || param.Value == DBNull.Value) { if (param.SourceVersion == DataRowVersion.Current) { object o = packet.CurrentValues[param.SourceColumn]; if (o != null && o != DBNull.Value) { p.BeforeValue = Convert.ToString(o); } } else if (param.SourceVersion == DataRowVersion.Original) { object o = packet.OriginalValues[param.SourceColumn]; if (o != null && o != DBNull.Value) { p.BeforeValue = Convert.ToString(o); } } } } catch { } this.Parameters.Add(p); } } stopwatch = Stopwatch.StartNew(); }