X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=sql-classes.lisp;h=a4daef4c6565504a586c6794ba1cd45be784ca16;hb=90ec96896ae6ca5056c0dae37c14ac10f9113bd1;hp=275686e8e85170ea1d4c987a45187e29e9bc65bd;hpb=dd3e2d80da5c72c86b90f1dd33c0316650027f1b;p=umlisp.git diff --git a/sql-classes.lisp b/sql-classes.lisp index 275686e..a4daef4 100644 --- a/sql-classes.lisp +++ b/sql-classes.lisp @@ -7,7 +7,7 @@ ;;;; Author: Kevin M. Rosenberg ;;;; Date Started: Apr 2000 ;;;; -;;;; $Id: sql-classes.lisp,v 1.28 2003/05/03 19:57:11 kevin Exp $ +;;;; $Id: sql-classes.lisp,v 1.30 2003/05/03 20:03:53 kevin Exp $ ;;;; ;;;; This file, part of UMLisp, is ;;;; Copyright (c) 2000-2002 by Kevin M. Rosenberg, M.D. @@ -58,20 +58,20 @@ is OBJNAME from TABLE where WHERE-NAME field = WHERE-VALUE with FIELDS" (defmacro query-string-macro (table fields &optional srl where-name where-value &key (lrlname "KCUILRL") single distinct order like) - (let* ((%%fields (format nil "select ~A~{~:@(~A~)~^,~}" - (if distinct "distinct " "") fields)) + (let* ((%%fields (format nil "select ~A~{~:@(~A~)~^,~} from ~:@(~A~)" + (if distinct "distinct " "") fields table)) (%%order (if order (format nil " order by ~{~:@(~A~) ~(~A~)~^,~}" order) ""))) `(concatenate 'string - (format nil "select ~A from ~:@(~A~)" ,%%fields ,table) + ,%%fields (if ,where-name (format nil (if (stringp ,where-value) - (if like + (if ,like " where ~A like '%~A%'" " where ~A='~A'") " where ~A=~A") - ,where-name ,where-value) + ,where-name ,where-value) "") (if ,srl (format nil " and ~:@(~A~) <= ~D" ,lrlname ,srl) "") ,%%order