#include "SqlCtrl.h" namespace Upp { void SqlLoad(MapConvert& cv, Sql& sql) { cv.Clear(); while(sql.Fetch()) cv.Add(sql[0], sql[1]); } void SqlLoad(MapConvert& cv, const SqlSelect& set, SqlSession& ss) { Sql sql(ss); ss.ClearError(); sql * set; if(ShowError(sql)) return; SqlLoad(cv, sql); } #ifndef NOAPPSQL void operator*=(MapConvert& cv, const SqlSelect& set) { SqlLoad(cv, set); } #endif void SqlLoad(DropList& dl, Sql& sql) { dl.ClearList(); while(sql.Fetch()) if(sql.GetColumns() == 1) dl.Add(sql[0]); else dl.Add(sql[0], sql[1]); } void SqlLoad(DropList& dl, const SqlSelect& set, SqlSession& ss) { Sql sql(ss); ss.ClearError(); sql * set; if(ShowError(sql)) return; SqlLoad(dl, sql); } #ifndef NOAPPSQL void operator*=(DropList& dl, const SqlSelect& set) { SqlLoad(dl, set); } #endif void SqlOption::SetData(const Value& data) { String s = data; if(IsThreeState() && IsNull(data)) Set(Null); else Set(!(IsNull(s) || s == "0")); } Value SqlOption::GetData() const { if(IsThreeState() && IsNull(Get())) return String(); return Get() ? "1" : "0"; } Value SqlNOption::GetData() const { if(Get()) return "1"; return Null; } void SqlCtrls::Add(SqlId id, Ctrl& ctrl) { Item& m = item.Add(); m.id = id; m.ctrl = &ctrl; } void SqlCtrls::Table(Ctrl& dlg, SqlId table) { Vector col = GetSchColumns(~table); for(Ctrl *q = dlg.GetFirstChild(); q; q = q->GetNext()) { String id = ToUpper(q->GetLayoutId()); if(!dynamic_cast