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); } }
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)); } }
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); } }
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); } } }
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)); } } }
//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); }