From 8e02f3d7cf4449f7d20526b7e2304e6c2d3ef044 Mon Sep 17 00:00:00 2001 From: guy Date: Fri, 5 Mar 2004 11:37:01 +0000 Subject: [PATCH] Patch level : 2.1 nopatch Files correlati : ba8 Ricompilazione Demo : [ ] Commento : Corretta gestione attributo Hidden git-svn-id: svn://10.65.10.50/trunk@11809 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ba/ba8200.cpp | 21 ++++++++++++--------- ba/ba8200a.uml | 2 +- ba/ba8201.h | 2 +- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/ba/ba8200.cpp b/ba/ba8200.cpp index 7e4bfa69d..24547b915 100755 --- a/ba/ba8200.cpp +++ b/ba/ba8200.cpp @@ -618,16 +618,14 @@ static bool sql_tree_handler(TTree& tree, void* jolly, word flags) { TRelation_node* rn = (TRelation_node*)tree.curr_node(); TPointer_array& arr = *(TPointer_array*)jolly; - TString& from = *(TString*)arr.objptr(0); + TToken_string& from = *(TToken_string*)arr.objptr(0); TString& where = *(TString*)arr.objptr(1); TString_array& join = rn->join(); TString str; if (from.find(rn->id()) < 0) { - if (from.not_empty()) - from << ','; - from << rn->id(); + from.add(rn->id()); FOR_EACH_ARRAY_ROW(join, i, row) { @@ -659,6 +657,12 @@ void TQuery_mask::tree2sql(TString& from, TString& where) } } +inline bool tok_get_bool(TToken_string& tok, int pos) +{ + const char* str = tok.get(pos); + return str && *str > ' '; +} + // Genera una query SQL a partire dallo spreadsheet F_SHEET void TQuery_mask::sheet2sql() { @@ -675,19 +679,18 @@ void TQuery_mask::sheet2sql() FOR_EACH_SHEET_ROW(sheet, i, row) { field = row->get(1); - const bool hidden = *row->get(2) > ' '; - if (!field.blank() && !hidden) + if (!field.blank() && !tok_get_bool(*row, 2)) // Campo valido e visibile { if (multiple) { field.insert("."); field.insert(row->get(0)); // Table name } - select.add(field); // Column name only + select.add(field); // Column name only - if (*row->get(3) > ' ') + if (tok_get_bool(*row, 3)) // Sort orderby.add(field); - if (*row->get(4) > ' ') + if (tok_get_bool(*row, 4)) // Group groupby.add(field); } } diff --git a/ba/ba8200a.uml b/ba/ba8200a.uml index 696e49419..64c7dc584 100755 --- a/ba/ba8200a.uml +++ b/ba/ba8200a.uml @@ -121,7 +121,7 @@ PAGE "Sql" -1 -1 78 23 MEMO F_SQL 78 -3 BEGIN - PROMPT 1 1 "SQL query" + PROMPT 1 0 "SQL query" END BUTTON F_EDITQUERY 10 2 diff --git a/ba/ba8201.h b/ba/ba8201.h index ba27aa74e..6c3ed8beb 100755 --- a/ba/ba8201.h +++ b/ba/ba8201.h @@ -43,7 +43,7 @@ public: unsigned int columns() const; const TSQL_column_info& column_info(unsigned int c) const; - const TToken_string& sheet_head() const; + const TToken_string& sheet_head() const; // Used by TQuery_sheet bool save_as(const char* filename, TQueryExportFormat = fmt_unknown);