Hello Guys, i am using a cfquery and am trying to return results based on date. the idea is to return entries that are less than or equal to date but am not getting any results but when i change to greater than or equal to i get the all results in databse which is wrong.
Below is my code. is there something am doing wrong? Please help.
<cffunction name="getBal" access="remote">
<cfargument name="ID_biodata" type="string" required="true">
<cfargument name="quater" type="string" required="true"/>
<cfargument name="datePaid" type="date" required="true"/>
<cfquery name="qBal" datasource="bond100">
SELECT ID_biodata, quater, datePaid, amountPaid, manFees
FROM collections
WHERE datePaid <= <cfqueryparam cfsqltype="cf_sql_timestamp" value="#parseDateTime(arguments.datePaid)#">
AND ID_biodata = <cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.ID_biodata#">
AND quater = <cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.quater#">
ORDER BY datePaid
</cfquery>
<cfquery dbtype="query" name="results">
SELECT SUM(CAST(amountPaid as INTEGER) + CAST(manFees as INTEGER)) AS totalPaid
FROM qBal
</cfquery>
<cfreturn results />
</cffunction>
| Reply via web post | • | Reply to sender | • | Reply to group | • | Start a New Topic | • | Messages in this topic (1) |
On 4/20/2015 6:33 PM, stin...@yahoo.com [flexcoders] wrote:
> Below is my code. is there something am doing wrong? Please help.
well first off you don't need the query-of-query, you can get what you want in
one query.
> WHERE datePaid <= <cfqueryparam cfsqltype="cf_sql_timestamp"
> value="#parseDateTime(arguments.datePaid)#">
what's datePaid look like? parseDateTime only works with en_US locale date formats.
in any case, have you tried testing this in plain cf first?
when i try to hard code the date i get the correct result somewhat only that it misses a record. here is what i mean by hard coding
Ok, i have managed to make it work by formatting the date returned from the user interface in this format dd/mm/yyyy, which has worked only that some records are left out because in access the date field has time attached to it. so i was wondering how i can get rid of the time element in the date from the database.
Any help guys? i don't understand what is happening but am getting a record short that is the query seems to be working only that its not returning the record of the datePaid, only records less than the datepaid. here is my query again