Set Date to mdy lnHandle=SQLStringConnect('DRIVER=SQL Server;SERVER=(local);Trusted_Connection=Yes') SQLExec(lnHandle,'create database myTestDB') SQLExec(lnHandle,'use myTestDB') SQLExec(lnHandle,'create table myTest (myKey int identity not null,f1 varchar(10) null, myDate datetime null)') SQLPrepare(lnHandle,'insert into myTest (f1,myDate) values (?m.c1,?m.d1)') For ix=1 to 10 m.c1 = 'MyValue'+Transform(ix) If ix%3#0 m.d1 = Date()-ix Else m.d1 = .null. endif SQLExec(lnHandle) EndFor SQLExec(lnHandle,'select myKey,f1,convert(varchar(10),myDate,101) as myDate from myTest','v_test') cursorsetprop('KeyFieldList','myKey','v_test') cursorsetprop('WhereType',1,'v_test') cursorsetprop('Tables','myTest','v_test') CURSORSETPROP("UpdateNameList", ; "myKey myTest.myKey,"+; "f1 myTest.f1,"+; "myDate myTest.myDate",'v_test') cursorsetprop('UpdatableFieldList','f1,myDate','v_test') cursorsetprop('SendUpdates',.t.,'v_test') cursorsetprop('Buffering',5,'v_test') Browse fields myKey,f1,myDate :p='@D' title 'Before Update' * Check if invalid date is getting back replace myDate with .null. for !IsNull(myDate) and Empty(ctod(myDate)) tableupdate(2,.t.,'v_test') SQLExec(lnHandle,'select * from myTest','afterupdate') SQLDisconnect(lnHandle) select afterupdate Browse title 'AfterUpdate'Cetin