RE: [Arsperl-users] question regarding the query() method
Brought to you by:
jeffmurphy
|
From: Sean G. <msg...@co...> - 2005-04-27 14:11:17
|
It is because your query is bad -- it should be 'Login Name' =3D "Some =
User"
If you are creating it in perl it should be "'Login Name' =3D \"Some =
User\""
Fields are always surrounded in single quotes while character data is in
double quotes.
Please note -- you must use the label of the field and not the database =
name
when creating your query. This has got me several times because =
everything
else seems to use the database name.
Thanks,
Sean=20
-----Original Message-----
From: ars...@ar...
[mailto:ars...@ar...] On Behalf Of the sign will be =
that
life is awesome
Sent: Wednesday, April 27, 2005 6:16 AM
To: 'ars...@ar...'
Subject: [Arsperl-users] question regarding the query() method
I'm trying to figure out how to properly use qualifiers via the OO =
query()
method on the SHR:People form. my code is below :
my @entries =3D $remedy_form->query(
-query =3D> '("Login Name" =3D "some_user")'
);
this returns an array of field headers but no entries.
i've verified that the 'Login Name' field exists under that name in the =
form
'Login Name' =3D> 240000005
I suspect that I'm not understanding how to properly phrase a remedy =
query
and apologize if that is the case here. invoking query() with no =
arguments
properly returns all entry IDs for the form and i can properly perform a
get() on the form handle to retrieve the entry - i just can't seem to
properly
format a filter on the query itself.
does anyone see anything boneheaded i'm doing here? i've tried various
quoting
styles for the query, such as "(\"Login Name\" =3D \"some_user\")", =
'Login
name'
and 'Login' instead of 'Login Name' and omitting the spaces between the
field
name and the '=3D' in the query as well as removing the parentheses =
around the
query but none of those seem to work for me. directly using
ars_GetListEntry
acts identically.
one thing i've noted ( not sure if this is something the C API deals =
with or
not ) is that you can specify any field name in the qualifier, whether =
it
exists or not, and no error is thrown.
the deconstructed qualifier as returned by ars_perl_qualifier() looks =
like
$VAR1 =3D {
'oper' =3D> 'rel_op',
'rel_op' =3D> {
'left' =3D> {
'value' =3D> 'Login Name'
},
'right' =3D> {
'value' =3D> 'some_user'
},
'oper' =3D> '=3D=3D'
}
};
using the standard $all qualifier of "1=3D1" returns
$VAR1 =3D {
'oper' =3D> 'rel_op',
'rel_op' =3D> {
'left' =3D> {
'value' =3D> 1
},
'right' =3D> {
'value' =3D> 1
},
'oper' =3D> '=3D=3D'
}
};
( using "1=3D1" returns all entries properly, as does "1<2" and other =
queries
of that nature, so i think i've at least got the basic syntax down. =
what
i'm
probably not understanding are what types of arguments i'm supposed to =
feed
to the qualifier constructor, tho the examples i've seen in the mailing =
list
seem to match up with what i'm trying to do )
a little stumped :) - thanks much for any help!
- tom
-------------------------------------------------------
SF.Net email is sponsored by: Tell us your software development plans!
Take this survey and enter to win a one-year sub to SourceForge.net
Plus IDC's 2005 look-ahead and a copy of this survey
Click here to start! http://www.idcswdc.com/cgi-bin/survey?id=3D105hix
_______________________________________________
Arsperl-users mailing list
Ars...@ar...
https://lists.sourceforge.net/lists/listinfo/arsperl-users
|