return to first page linux journal archive
keywordscontents
def build_query( cnx, TableName, qfields,\
 form ) :
 ###########
  q = "Select * from " + TableName
  if len( qfields ) > 0 :
	q = q + " where "
	order = None
	for h in qfields :
		if order is not None :
			q = q + " and "
		else :
			order = " order by " + h
			val = form[ h ]
		if h[ -3: ] = "num" :
			q = q + h + "  " + val
		else :
			# Faster than a wildcard 
			# search when indexed ?
			q = q + h + " > '" + val\
			+ "' and " + h +"\
			<'" + val[ :-1 ] +\
			chr( ord( val[ -1 ] )\
			 + 1 ) + "'"
	q = q + order
return q