コード例 #1
0
        private void _tsbExecutionPlan_Click(object sender, EventArgs e)
        {
            Stopwatch sw = new Stopwatch();

            try
            {
                sw.Start();
                _mainForm.UpdateBusyWaitState(true, Properties.Resources.StatusExecuting);
                using (PhoenixCommand cmd = new PhoenixCommand(_connection))
                {
                    cmd.CommandText = _rtbQuery.Text;
                    DataTable dt = cmd.Explain();

                    UpdateDataGrid(dt);

                    // How long did the command take?
                    sw.Stop();
                    UpdateElapsedStatus(sw, cmd);
                }
            }
            catch (Exception ex)
            {
                HandleException(ex);
            }
            finally
            {
                _mainForm.UpdateBusyWaitState(false, null);
            }
        }
コード例 #2
0
ファイル: PhoenixUnitTest.cs プロジェクト: GFSA/GarudaUtil
        public void CommandExecuteNonQueryElapsedGreaterThanZero()
        {
            using (IDbConnection c = new PhoenixConnection())
            {
                c.ConnectionString = this.ConnectionString();
                c.Open();

                ReCreateTestTableIfNotExists(c);

                using (IDbCommand cmd = c.CreateCommand())
                {
                    cmd.CommandText = string.Format("UPSERT INTO GARUDATEST (ID, AircraftIcaoNumber, MyInt, MyUint, MyUlong, MyTingInt, MyTime, MyDate, MyTimestamp, MyUnsignedTime, MyFloat) VALUES (NEXT VALUE FOR garuda.testsequence, 'NINTX1', 5, 4, 3, 2, CURRENT_TIME(), CURRENT_DATE(), '2016-07-25 22:28:00',  CURRENT_TIME(), 1.2 / .4)");
                    cmd.ExecuteNonQuery();

                    // Confirm PhoenixCommand.Elapsed is working a bit.
                    PhoenixCommand phCmd = cmd as PhoenixCommand;
                    Assert.IsNotNull(phCmd);
                    Assert.IsNotNull(phCmd.Elapsed);
                    Assert.AreNotEqual(0, phCmd.Elapsed.TotalMilliseconds, nameof(phCmd.Elapsed.TotalMilliseconds));
                    this.TestContext.WriteLine("PhoenixCommand.Elapsed: {0}", phCmd.Elapsed);
                }

                Assert.AreEqual(1, QueryAllRows(c));
            }
        }
コード例 #3
0
        private void _tspExecute_Click(object sender, EventArgs e)
        {
            Stopwatch sw = new Stopwatch();

            try
            {
                // Clear the messages.
                _txtMessages.Clear();

                // Reopen connection if needed.
                if (_connection.State != ConnectionState.Open)
                {
                    _connection.Open();
                }

                sw.Start();
                _mainForm.UpdateBusyWaitState(true, Properties.Resources.StatusExecuting);
                using (PhoenixCommand cmd = new PhoenixCommand(_connection))
                {
                    cmd.CommandText = _rtbQuery.Text;
                    using (IDataReader dr = cmd.ExecuteReader())
                    {
                        DataTable dt = new DataTable();
                        if (0 < dr.FieldCount)
                        {
                            dt.Load(dr);
                        }

                        UpdateDataGrid(dt);
                        _txtMessages.AppendText(string.Format("{0} record(s) affected", dr.RecordsAffected));

                        // How long did the command take?
                        sw.Stop();
                        UpdateElapsedStatus(sw, cmd);
                    }
                }
            }
            catch (Exception ex)
            {
                HandleException(ex);
            }
            finally
            {
                _mainForm.UpdateBusyWaitState(false, null);
            }
        }
コード例 #4
0
ファイル: PhoenixUnitTest.cs プロジェクト: GFSA/GarudaUtil
        public void CommandExplain()
        {
            using (PhoenixConnection c = new PhoenixConnection())
            {
                c.ConnectionString = this.ConnectionString();
                c.Open();

                using (PhoenixCommand cmd = new PhoenixCommand(c))
                {
                    cmd.CommandText = "SELECT * FROM BIGTABLE WHERE ID < 1000";

                    DataTable dt = cmd.Explain();

                    Assert.IsNotNull(dt);
                }
            }
        }
コード例 #5
0
ファイル: PhoenixUnitTest.cs プロジェクト: GFSA/GarudaUtil
        public void CommandExecuteScalar()
        {
            using (PhoenixConnection c = new PhoenixConnection())
            {
                c.ConnectionString = this.ConnectionString();
                c.Open();

                using (PhoenixCommand cmd = new PhoenixCommand(c))
                {
                    cmd.CommandText = "SELECT COUNT(*) FROM BIGTABLE WHERE ID < 1000";

                    object oVal = cmd.ExecuteScalar();

                    Assert.IsNotNull(oVal);
                    Assert.IsInstanceOfType(oVal, typeof(long));
                }
            }
        }
コード例 #6
0
        //protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
        //{
        //    switch(keyData)
        //    {
        //        case (Keys.F5):
        //            this.ExecuteQuery();
        //            break;
        //    }
        //    return base.ProcessCmdKey(ref msg, keyData);
        //}

        public void UpdateElapsedStatus(Stopwatch sw, PhoenixCommand cmd)
        {
            _tsslElapsed.Text = string.Format("{0} [Cmd: {1}]", sw.Elapsed, cmd.Elapsed);
        }