From 920ad9c0e69690716795a0e2aa1faacb8a9d6f9e Mon Sep 17 00:00:00 2001 From: lsv Date: Tue, 30 Jun 2026 15:41:47 +0500 Subject: [PATCH] The start time query is added to the history tab. Fix execute to file. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. Добавлено время начала выполнения каждого запроса во вкладке "История". 2. Исправлено поведения команды "Выполнить в файл". Теперь она работает также как и "Выполнить", но результаты идут в файл. Следует учитывать что в этом случае Флажок "Формат для XLS" не работает. --- frm/frmExport.cpp | 5 +++++ frm/frmQuery.cpp | 38 ++++++++++++++------------------------ 2 files changed, 19 insertions(+), 24 deletions(-) diff --git a/frm/frmExport.cpp b/frm/frmExport.cpp index f2017c8..3546c56 100644 --- a/frm/frmExport.cpp +++ b/frm/frmExport.cpp @@ -150,6 +150,11 @@ frmExport::frmExport(wxWindow *p) wxString val; settings->Read(wxT("Export/LastFile"), &val, wxEmptyString); txtFilename->SetValue(val); + ctlSQLResult* ctrl= dynamic_cast(parent); + if (!ctrl) { + chkXlsCopy->SetValue(false); + chkXlsCopy->Enable(false); + } wxCommandEvent ev; OnChange(ev); diff --git a/frm/frmQuery.cpp b/frm/frmQuery.cpp index 5005c51..6b78134 100644 --- a/frm/frmQuery.cpp +++ b/frm/frmQuery.cpp @@ -3140,7 +3140,10 @@ void frmQuery::OnExecute(wxCommandEvent &event) } } } - execQuery(query); + if (event.GetId()==MNU_EXECFILE) { + execQuery(query, 0, false, 0, true); + } else + execQuery(query); sqlQuery->SetFocus(); } @@ -3211,21 +3214,7 @@ void frmQuery::OnExecScript(wxCommandEvent &event) void frmQuery::OnExecFile(wxCommandEvent &event) { - if(sqlNotebook->GetSelection() == 1) - { - if (!updateFromGqb(true)) - return; - } - - wxString query = sqlQuery->GetSelectedText(); - if (query.IsNull()) - query = sqlQuery->GetText(); - - if (query.IsNull()) - return; - - execQuery(query, 0, false, 0, true); - sqlQuery->SetFocus(); + OnExecute(event); } void frmQuery::OnAutoReplaceManage(wxCommandEvent &event) { @@ -3341,9 +3330,6 @@ void frmQuery::execQuery(const wxString &query, int resultToRetrieve, bool singl //sqlQuery->StartStyling(0); //sqlQuery->SetStyling(sqlQuery->GetText().Length(), 0); - int i=sqlQueryBook->GetSelection(); - sqlQueryBook->SetPageBitmap(i,CreateBitmap(wxColour(255,0,0))); - if (!sqlQuery->IsChanged()) setExtendedTitle(); @@ -3353,9 +3339,6 @@ void frmQuery::execQuery(const wxString &query, int resultToRetrieve, bool singl sqlResult=ctlSQL[indexResult]; sqlResult->ClearFilter(); ctlSBox[indexResult]=sqlQuery; - // - int idx=outputPane->GetPageIndex(sqlResult); - outputPane->SetPageBitmap(idx,CreateBitmap(wxNullColour)); QueryExecInfo *qi = new QueryExecInfo(); qi->queryOffset = queryOffset; @@ -3375,6 +3358,12 @@ void frmQuery::execQuery(const wxString &query, int resultToRetrieve, bool singl return; } } + // + int i=sqlQueryBook->GetSelection(); + sqlQueryBook->SetPageBitmap(i,CreateBitmap(wxColour(255,0,0))); + + int idx=outputPane->GetPageIndex(sqlResult); + outputPane->SetPageBitmap(idx,CreateBitmap(wxNullColour)); // Remember the tab from which execute was called. By the time query completes, SQL tab selection may change. sqlQueryExec = sqlQuery; @@ -3390,8 +3379,9 @@ void frmQuery::execQuery(const wxString &query, int resultToRetrieve, bool singl SetStatusText(wxT(""), STATUSPOS_ROWS); msgResult->Clear(); msgResult->SetFont(settings->GetSQLFont()); - - msgHistory->AppendText(wxString::Format(_("-- Executing query [%s]:\n"), sqlQueryExec->GetTitle(false).c_str())); + wxDateTime curr=wxDateTime::Now(); + wxString str_curr=curr.FormatISOCombined(' '); + msgHistory->AppendText(wxString::Format(_("-- Executing query [%s]:[%s]\n"), sqlQueryExec->GetTitle(false).c_str(),str_curr.c_str())); msgHistory->AppendText(query); msgHistory->AppendText(wxT("\n")); Update();