>>>>While you have your answer, the real problem is that SQL Server 2000 always uses ANSI settings for things like datetimes. So
csql = "select * from prestacoes where data_venc <= '2/28/2006 00:00:00'"
should also work. The time portion of the above is optional.
>>>
>>>Now you're getting me confused. Isn't ANSI the yyyy-mm-dd date, and American date mm-dd-yyyy? That's when you get in VFP when you Set Date ANSI/American.
>>
>>Geez, Dragan, I don't know. And I can't find where I read that. All I can say is that I don't have any problems with any of our SQL Servers when I use "mm/dd/yyyy" or add the time to it.
>
>My routine to convert any value to something that can be inserted into a SQL command (I do all my SQL server stuff via SPT) returns '2005-09-24 15:29:40' for a datetime value and I never had a problem with that. The relevant lines of code:
>
>
#define C_SQUOTE [']
>cRetVal=C_SQUOTE+transform(ttoc(tuvalue,1), "@R 9999-99-99 99:99:99")+C_SQUOTE
>
>And I've used it on about six databases on three servers (in three states :). I think, but can't be sure, that all the relevant settings on these servers were left at default - which means my date delimiters, ANSI quotes etc are untouched.
I've always been able to just use 'yyyymmdd hh:mm' without problem. The time portion (24 hour format) is entirely optional and may/may not include seconds.milliseconds.