mirror of
https://github.com/rabbibotton/clog.git
synced 2025-12-15 06:50:20 -08:00
last-sql and show using calcuated sql fields
This commit is contained in:
parent
f010b232bb
commit
26f587b8c8
3 changed files with 13 additions and 6 deletions
|
|
@ -89,6 +89,10 @@ CLOG-Builder. If not using builder use to connect:
|
|||
:accessor last-fetch
|
||||
:initform nil
|
||||
:documentation "Last fetch plist")
|
||||
(last-sql
|
||||
:accessor last-sql
|
||||
:initform nil
|
||||
:documentation "Last sql executed")
|
||||
(columns
|
||||
:accessor table-columns
|
||||
:initform nil
|
||||
|
|
@ -141,6 +145,7 @@ of type-of CLOG-DATABASE it is used as database source unless
|
|||
SQL. row-id-name is required for updates. All PANEL items or custom
|
||||
slots on panel will be set using DATA-LOAD-PLIST."))
|
||||
(defmethod query-row ((obj clog-one-row) panel sql)
|
||||
(setf (last-sql obj) sql)
|
||||
(setf (queryid obj) (dbi:execute
|
||||
(dbi:prepare
|
||||
(database-connection (clog-database obj))
|
||||
|
|
@ -165,14 +170,15 @@ be set using DATA-LOAD-PLIST."))
|
|||
(if (equal where "")
|
||||
""
|
||||
(format nil " and ~A" where))))))
|
||||
(setf (queryid obj) (dbi:execute
|
||||
(dbi:prepare
|
||||
(database-connection (clog-database obj))
|
||||
(sql-select (table-name obj)
|
||||
(setf (last-sql obj) (sql-select (table-name obj)
|
||||
(table-columns obj)
|
||||
:where where
|
||||
:order-by (order-by obj)
|
||||
:limit (limit obj))))))
|
||||
:limit (limit obj)))
|
||||
(setf (queryid obj) (dbi:execute
|
||||
(dbi:prepare
|
||||
(database-connection (clog-database obj))
|
||||
(last-sql obj)))))
|
||||
(next-row obj panel))
|
||||
|
||||
(defgeneric next-row (clog-one-row panel)
|
||||
|
|
|
|||
|
|
@ -557,6 +557,7 @@ embedded in a native template application.)"
|
|||
(rowid generic-function)
|
||||
(table-columns generic-function)
|
||||
(last-fetch generic-function)
|
||||
(last-sql generic-function)
|
||||
(query-row generic-function)
|
||||
(get-row generic-function)
|
||||
(next-row generic-function)
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
<data id="I3854977833" data-in-package="clog-user" data-custom-slots="" data-clog-next-id="8" data-clog-title="panel-1"></data><div data-clog-type="database" data-clog-dbi-dbtype=":sqlite3" data-clog-dbi-dbname="/home/dbotton/common-lisp/clog/test/test.db" data-clog-dbi-dbparams="" data-clog-name="database-1" style="box-sizing: content-box; position: static; left: 17px; top: 18px;"><div data-clog-type="one-row" data-clog-one-row-table="r" data-clog-one-row-where="" data-clog-one-row-order="" data-clog-one-row-limit="" data-clog-one-row-master="" data-clog-one-row-id-name="rowid" data-clog-one-row-columns="rowid name nickname" data-clog-name="one-row-2" style="box-sizing: content-box; position: static; left: 69px; top: 6px;"><select data-clog-type="lookup-list" size="4" data-clog-one-row-table="i" data-clog-lookup-value="invoice" data-clog-lookup-option="invoice" data-clog-one-row-where="" data-clog-one-row-order="" data-clog-one-row-limit="" data-clog-one-row-master="name" data-clog-one-row-id-name="rowid" data-clog-one-row-columns="rowid name invoice" data-clog-name="invoice" style="box-sizing: content-box; position: absolute; left: 81px; top: 106px; width: 260px; height: 74px;"></select><select data-clog-type="lookup-drop" data-clog-one-row-table="i" data-clog-lookup-value="invoice" data-clog-lookup-option="invoice" data-clog-one-row-where="" data-clog-one-row-order="" data-clog-one-row-limit="" data-clog-one-row-master="name" data-clog-one-row-id-name="rowid" data-clog-one-row-columns="rowid name invoice" data-clog-name="lookup-drop-7" style="box-sizing: content-box; position: absolute; left: 93px; top: 197px; width: 237px; height: 20px;" data-on-create="(get-row (one-row-2 panel) panel)"></select></div></div><span data-clog-type="span" data-clog-name="name" style="box-sizing: content-box; position: absolute; left: 97px; top: 42px; width: 205px; height: 23px; color: rgb(0, 0, 0); background-attachment: scroll; background-color: rgb(221, 221, 50);">span</span><input type="TEXT" value="" data-clog-type="input" data-clog-name="nickname" style="box-sizing: content-box; position: absolute; left: 97px; top: 68px;">
|
||||
<data id="I3854987208" data-in-package="clog-user" data-custom-slots="" data-clog-next-id="10" data-clog-title="panel-1"></data><div data-clog-type="database" data-clog-dbi-dbtype=":sqlite3" data-clog-dbi-dbname="/home/dbotton/common-lisp/clog/test/test.db" data-clog-dbi-dbparams="" data-clog-name="database-1" style="box-sizing: content-box; position: static; left: 17px; top: 18px;"><div data-clog-type="one-row" data-clog-one-row-table="r" data-clog-one-row-where="" data-clog-one-row-order="" data-clog-one-row-limit="" data-clog-one-row-master="" data-clog-one-row-id-name="rowid" data-clog-one-row-columns="rowid name nickname" data-clog-name="one-row-2" style="box-sizing: content-box; position: static; left: 69px; top: 6px;"><select data-clog-type="lookup-list" size="4" data-clog-one-row-table="i" data-clog-lookup-value="invoice" data-clog-lookup-option="disp2" data-clog-one-row-where="" data-clog-one-row-order="" data-clog-one-row-limit="" data-clog-one-row-master="name" data-clog-one-row-id-name="rowid" data-clog-one-row-columns="rowid name invoice ("invoice || ' ' || idate" "disp2")" data-clog-name="invoice" style="box-sizing: content-box; position: absolute; left: 81px; top: 106px; width: 260px; height: 74px;"></select><select data-clog-type="lookup-drop" data-clog-one-row-table="i" data-clog-lookup-value="invoice" data-clog-lookup-option="invoice" data-clog-one-row-where="" data-clog-one-row-order="" data-clog-one-row-limit="" data-clog-one-row-master="name" data-clog-one-row-id-name="rowid" data-clog-one-row-columns="rowid name invoice" data-clog-name="lookup-drop-7" style="box-sizing: content-box; position: absolute; left: 93px; top: 197px; width: 237px; height: 20px;" data-on-create="(get-row (one-row-2 panel) panel)"></select></div></div><span data-clog-type="span" data-clog-name="name" style="box-sizing: content-box; position: absolute; left: 97px; top: 42px; width: 205px; height: 23px; color: rgb(0, 0, 0); background-attachment: scroll; background-color: rgb(221, 221, 50);">span</span><input type="TEXT" value="" data-clog-type="input" data-clog-name="nickname" style="box-sizing: content-box; position: absolute; left: 97px; top: 68px;"><button data-clog-type="button" data-clog-name="button-8" data-on-click="(get-row (one-row-2 panel) panel)" style="box-sizing: content-box; position: absolute; left: 3px; top: 32px; width: 35px; height: 22px;">First</button><button data-clog-type="button" data-clog-name="button-9" class="" data-on-click="(next-row (one-row-2 panel) panel)" style="box-sizing: content-box; position: absolute; left: 3px; top: 65px; width: 35px; height: 22px;">Next</button>
|
||||
Loading…
Add table
Add a link
Reference in a new issue