diff --git a/src/include/odbcrset.cpp b/src/include/odbcrset.cpp index 82cb28818..12cffac81 100755 --- a/src/include/odbcrset.cpp +++ b/src/include/odbcrset.cpp @@ -707,6 +707,20 @@ void TODBC_recordset::remove_rec(const TISAM_recordset& dbfset) upd.exec(query); } +const char * TODBC_recordset::table_name() +{ + TString & s = get_tmp_string(255); + int pos = _sql.find("FROM"); + + if (pos >= 0) + { + s = _sql.ltrim(pos + 5); + pos = s.find(" "); + if (pos > 0) + s = s.left(pos); + } + return s; +} void TODBC_recordset::set(const char* sql) { if (not_frozen() || !_loaded || _sql != sql) diff --git a/src/include/odbcrset.h b/src/include/odbcrset.h index 548f4b1e7..675547b9d 100755 --- a/src/include/odbcrset.h +++ b/src/include/odbcrset.h @@ -69,6 +69,7 @@ public: void remove_rec(const TISAM_recordset& dbfset); const TString& dsn() const { return _dsn; } + const char * table_name(); TODBC_recordset(const char* sql, const bool freezed = false); virtual ~TODBC_recordset();