Esempio n. 1
0
        public override object ExecuteScalar()
        {
            LINQPadDbController.DbCommandExecuting(this);
            Stopwatch stopwatch = Stopwatch.StartNew();
            object    obj2      = this._proxy.ExecuteScalar();

            stopwatch.Stop();
            LINQPadDbController.DbCommandFinished(stopwatch.Elapsed);
            return(obj2);
        }
Esempio n. 2
0
        protected override DbDataReader ExecuteDbDataReader(CommandBehavior behavior)
        {
            LINQPadDbController.DbCommandExecuting(this);
            Stopwatch    stopwatch = Stopwatch.StartNew();
            DbDataReader reader    = this._proxy.ExecuteReader(behavior);

            stopwatch.Stop();
            LINQPadDbController.DbCommandFinished(stopwatch.Elapsed);
            return(reader);
        }
Esempio n. 3
0
        public override int ExecuteNonQuery()
        {
            LINQPadDbController.DbCommandExecuting(this);
            Stopwatch stopwatch = Stopwatch.StartNew();
            int       num       = this._proxy.ExecuteNonQuery();

            stopwatch.Stop();
            LINQPadDbController.DbCommandFinished(stopwatch.Elapsed);
            return(num);
        }
Esempio n. 4
0
        public ReturnDataSet ExecuteStoredProcedure(string name, params object[] args)
        {
            bool          flag;
            ReturnDataSet set;
            DbCommand     command = this.Connection.CreateCommand();

            command.CommandText    = name;
            command.CommandType    = CommandType.StoredProcedure;
            command.CommandTimeout = 0;
            if (!(flag = this.Connection.State == ConnectionState.Open))
            {
                this.Connection.Open();
            }
            try
            {
                SqlCommand proxy = command as SqlCommand;
                if ((proxy == null) && (command is LINQPadDbCommand))
                {
                    proxy = ((LINQPadDbCommand)command).Proxy as SqlCommand;
                }
                if (proxy == null)
                {
                    return(new ReturnDataSet());
                }
                SqlCommandBuilder.DeriveParameters(proxy);
                int num = 1;
                List <DbParameter> list = new List <DbParameter>();
                foreach (object obj2 in args)
                {
                    if (num == command.Parameters.Count)
                    {
                        break;
                    }
                    object    obj3     = obj2;
                    IOptional optional = obj3 as IOptional;
                    if (optional != null)
                    {
                        if (!optional.HasValue)
                        {
                            num++;
                            continue;
                        }
                        obj3 = optional.Value;
                    }
                    if (obj3 is XNode)
                    {
                        obj3 = obj3.ToString();
                    }
                    else if (obj3 is Binary)
                    {
                        obj3 = ((Binary)obj3).ToArray();
                    }
                    command.Parameters[num].Value = (obj3 == null) ? DBNull.Value : obj3;
                    num++;
                }
                foreach (DbParameter parameter in list)
                {
                    proxy.Parameters.Remove(parameter);
                }
                LINQPadDbController.DbCommandExecuting(proxy);
                SqlDataAdapter adapter   = new SqlDataAdapter(proxy);
                ReturnDataSet  dataSet   = new ReturnDataSet();
                Stopwatch      stopwatch = Stopwatch.StartNew();
                adapter.Fill(dataSet);
                stopwatch.Stop();
                if (proxy.Parameters[0].Value is int)
                {
                    dataSet.ReturnValue = (int)proxy.Parameters[0].Value;
                }
                Dictionary <string, object> source = new Dictionary <string, object>();
                foreach (SqlParameter parameter2 in proxy.Parameters)
                {
                    if ((parameter2.Direction == ParameterDirection.InputOutput) || (parameter2.Direction == ParameterDirection.Output))
                    {
                        source[parameter2.ParameterName] = parameter2.Value;
                    }
                }
                if (source.Any <KeyValuePair <string, object> >())
                {
                    dataSet.OutputParameters = source;
                }
                int num3 = 0;
                foreach (DataTable table in dataSet.Tables)
                {
                    table.TableName = "Result Set " + num3++;
                }
                LINQPadDbController.DbCommandFinished(stopwatch.Elapsed);
                set = dataSet;
            }
            finally
            {
                if (!flag)
                {
                    this.Connection.Close();
                }
            }
            return(set);
        }