database query
Jan Schenkel
janschenkel at yahoo.com
Sat Jun 10 01:38:18 EDT 2006
--- Robert Mann <robmann at gp-racing.com> wrote:
> Is there a way to pass a global variable to a mysql
> query?
>
> here is what I would like to do
> display a query in a list (which I can do this)
> select from the list (store it in a variable)
> then pass that selection to a new query
>
> any thoughts on how to do this?
>
> Robert Mann
>
Hi Robert,
To achieve this, you can either construct the query
yourself, filling in the data from the global, or you
can use the variable binding parameters.
In the code below, I assume that you're already
connected to the database and have saved the
connection ID into a global variable named
gConnectionID
Approach 1:
##
on mouseUp
global gConnectionID
-- first we declare the globals
global gCustName, gCustCity
-- then we construct the query
put "SELECT * FROM Customers WHERE" && \
"Name = '" & gCustName & "' AND" && \
"City = '" & gCustCity & "'" \
into tSQLQuery
-- query the database
put revQueryDatabase(gConnectionID, tSQLQuery) \
into tCursorID
if tCursorID is not a number then
answer error tCursorID
exit mouseUp
end if
-- now do your thing with the result set
-- ...
-- finally clean up
revCloseCursor tCursorID
end mouseUp
##
Approach 2:
##
on mouseUp
global gConnectionID
-- first we declare the globals
global gCustName, gCustCity
-- then we construct the query
put "SELECT * FROM Customers WHERE" && \
"Name = :1 AND City = :2" \
into tSQLQuery
-- query the database
put revQueryDatabase( \
gConnectionID, \
tSQLQuery, \
"gCustName", \
"gCustCity",) \
into tCursorID
if tCursorID is not a number then
answer error tCursorID
exit mouseUp
end if
-- now do your thing with the result set
-- ...
-- finally clean up
revCloseCursor tCursorID
end mouseUp
##
In approach 1, you can use a function like 'merge' to
make the script a little more readable for long
queries involving a lot of variables.
Hope this helped,
Jan Schenkel.
Quartam Reports for Revolution
<http://www.quartam.com>
=====
"As we grow older, we grow both wiser and more foolish at the same time." (La Rochefoucauld)
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
More information about the use-livecode
mailing list