Click here to Skip to main content
15,888,733 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more: , +
Hello Guys,

i am trying to search this query

SQL
SELECT * FROM (SELECT ROW_NUMBER() OVER (ORDER BY PERS_NAME ASC) AS Row,
 T_AKARAT_BILLS.*,T_AKARAT_PERS_DATA.PERS_NAME,BILL_TP_NAME
 FROM T_AKARAT_BILLS join T_AKARAT_RENTS
 on T_AKARAT_RENTS.ID=T_AKARAT_BILLS.RENT_ID join T_AKARAT_PERS_DATA
 on T_AKARAT_PERS_DATA.ID=t_AKARAT_RENTS.TENANT_ID   join T_AKARAT_BUILDINGS
 on T_AKARAT_BUILDINGS.ID=T_AKARAT_RENTS.BUILDING_ID  join T_AKARAT_OFFICE_DATA
 on T_AKARAT_OFFICE_DATA.ID=T_AKARAT_BUILDINGS.OFFICE_ID join T_AKARAT_BILL_TP
 on T_AKARAT_BILL_TP.ID=T_AKARAT_BILLS.BILL_TP_ID
 where
 T_AKARAT_BUILDINGS.OFFICE_ID= 3 and T_AKARAT_BILLS.BILL_DT ='23/10/2013' ) AS TableWithRowNumbers WHERE Row > '0' AND Row <= '10'


My Problem Exists in (where Condition) exactly the (date value) which is Formatted as Day,Month,Year (23/10/2013)

If i searched with the above Query i am getting this error:

Conversion failed when converting date and/or time from character string.

If i changed this value to be Month,Day,Year (10/23/2013), it Works Fine !!!!

but i need to search date with this format (Day,Month,Year)

Any Ideas?
Posted
Updated 27-Oct-13 2:33am
v3
Comments
_ProgProg_ 27-Oct-13 9:21am    
Any Ideas Plz?

The database column T_AKARAT_BILLS.BILL_DT should be declared as a DATE data type.

When you use T_AKARAT_BILLS.BILL_DT in the Where clause, the best practice is to use a parameterized query where the date to be compared with T_AKARAT_BILLS.BILL_DT is passed as a DATE Data Type.

Doing so, eliminates date problems!





C#
...

SqlCommand SQLcom = new SqlCommand();

...

SQLcom.Parameters.AddWithValue("@SelectDate",dtSelectDate);

...

SQLcom.CommandText="SELECT * FROM (SELECT ROW_NUMBER() OVER (ORDER BY PERS_NAME ASC) AS Row,
 T_AKARAT_BILLS.*,T_AKARAT_PERS_DATA.PERS_NAME,BILL_TP_NAME
 FROM T_AKARAT_BILLS join T_AKARAT_RENTS
 on T_AKARAT_RENTS.ID=T_AKARAT_BILLS.RENT_ID join T_AKARAT_PERS_DATA
 on T_AKARAT_PERS_DATA.ID=t_AKARAT_RENTS.TENANT_ID   join T_AKARAT_BUILDINGS
 on T_AKARAT_BUILDINGS.ID=T_AKARAT_RENTS.BUILDING_ID  join T_AKARAT_OFFICE_DATA
 on T_AKARAT_OFFICE_DATA.ID=T_AKARAT_BUILDINGS.OFFICE_ID join T_AKARAT_BILL_TP
 on T_AKARAT_BILL_TP.ID=T_AKARAT_BILLS.BILL_TP_ID
 where
 T_AKARAT_BUILDINGS.OFFICE_ID= 3 and T_AKARAT_BILLS.BILL_DT = @SelectDate) AS TableWithRowNumbers WHERE Row > '0' AND Row <= '10'";

...
 
Share this answer
 
Comments
_ProgProg_ 27-Oct-13 10:03am    
The database column T_AKARAT_BILLS.BILL_DT is already declared as a DATE data type!!!
Mike Meinz 27-Oct-13 10:06am    
Good!

Then, use parameterized query and no more date problems!
I 've Solved it My self and this is the answer:

T_AKARAT_BILLS.BILL_DT = Convert(datetime,'23/10/2013',103)
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900