Home > m > gui > ltpdaRepoGUI > callbacks > buildquery.m

buildquery

PURPOSE ^

SYNOPSIS ^

function buildquery()

DESCRIPTION ^

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function buildquery()
0002 
0003 
0004 mainfig    = findobj('Tag', 'LTPDARepomainfig');
0005 
0006 % Get number of conditions
0007 Nc  = getappdata(mainfig, 'Nconditions');
0008 
0009 % Select fields
0010 fieldList = findobj('Tag', 'fieldsList');
0011 fieldsStr = get(fieldList, 'String');
0012 vals      = get(fieldList, 'Value');
0013 fields    = fieldsStr(vals);
0014 
0015 % Get table
0016 tableSel = findobj('Tag', 'tableSelect');
0017 tbls     = get(tableSel, 'String');
0018 tbl      = tbls{get(tableSel, 'Value')};
0019 
0020 % Start the query
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   % get field
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   % get condition
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   % get value
0049   h   = findobj('Tag', sprintf('c%02dValue', k));
0050   val = get(h, 'String');
0051   q = [q '"' val '"'];
0052   
0053   % Get compound
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 % Order by
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 % Set query string on GUI
0081 h = findobj('Tag', 'queryDisplayTxt');
0082 set(h, 'String', q);
0083 
0084 drawnow

Generated on Thu 01-Nov-2007 09:42:34 by m2html © 2003