0001 function buildquery()
0002
0003
0004 mainfig = findobj('Tag', 'LTPDARepomainfig');
0005
0006
0007 Nc = getappdata(mainfig, 'Nconditions');
0008
0009
0010 fieldList = findobj('Tag', 'fieldsList');
0011 fieldsStr = get(fieldList, 'String');
0012 vals = get(fieldList, 'Value');
0013 fields = fieldsStr(vals);
0014
0015
0016 tableSel = findobj('Tag', 'tableSelect');
0017 tbls = get(tableSel, 'String');
0018 tbl = tbls{get(tableSel, 'Value')};
0019
0020
0021 q = 'SELECT ';
0022 for j=1:length(fields)
0023 q = [q fields{j} ','];
0024 end
0025 q = [q(1:end-1) ' FROM ' tbl];
0026
0027
0028 for k=1:Nc
0029
0030 if k==1
0031 q = [q ' WHERE '];
0032 end
0033
0034
0035 h = findobj('Tag', sprintf('c%02dField', k));
0036 fields = get(h, 'String');
0037 field = fields{get(h, 'Value')};
0038
0039 q = [q field];
0040
0041
0042 h = findobj('Tag', sprintf('c%02dCondition', k));
0043 conds = get(h, 'String');
0044 cond = conds{get(h, 'Value')};
0045
0046 q = [q ' ' cond ' '];
0047
0048
0049 h = findobj('Tag', sprintf('c%02dValue', k));
0050 val = get(h, 'String');
0051 q = [q '"' val '"'];
0052
0053
0054 if k<Nc
0055
0056 h = findobj('Tag', sprintf('c%02dCompound', k));
0057 comps = get(h, 'String');
0058 comp = comps{get(h, 'Value')};
0059
0060 q = [q ' ' comp ' '];
0061
0062 end
0063
0064
0065 end
0066
0067
0068 h = findobj('Tag', 'fieldOrderBy');
0069 fields = get(h, 'String');
0070 field = fields{get(h, 'Value')};
0071
0072 q = [q ' ORDER BY ' field];
0073
0074 h = findobj('Tag', 'sortDir');
0075 dirs = get(h, 'String');
0076 dir = dirs{get(h, 'Value')};
0077
0078 q = [q ' ' dir ';'];
0079
0080
0081 h = findobj('Tag', 'queryDisplayTxt');
0082 set(h, 'String', q);
0083
0084 drawnow