The DataFlex date format isn’t compatible with MS SQL. You must to change the way as argument is passed and/or is received.
Take a look at this sample program. You may see that the variable is declared as a string, but should be date. I’m changing the date format before call stored procedure:
//SAMPLE PROGRAM // #include mertech.inc // //CREATE PROCEDURE TEST @@dDateIN DATETIME, @@dDateOUT DATETIME OUTPUT //AS // SELECT @@dDateOUT = DATEADD(dd,40,@@dDateIN) //GO // string dDateIN //both variables should be date but .... string dDateOUT // SET_ATTRIBUTE DF_DATE_FORMAT TO DF_DATE_USA sysdate4 dDateIN //changing to format yyyy-mm-dd move ((mid(dDateIN,4,7)) + "-" + (mid(dDateIN,2,1)) + "-" + (mid(dDateIN,2,4))) to dDateIN move dDateIN to dDateOUT showln "Arguments:" showln " dDateIN =" dDateIN showln " dDateOUT=" dDateOUT login "localhost" "sa" "xxx" "SQL_DRV" CALL_SQLSERVER_PROCEDURE "test.dbo.TEST" PASSING dDateIN dDateOUT SQLOUT showln "Returns:" showln " dDateOUT = " dDateOUT showln showln "Done!" inkey strlen abort //END OF SAMPLE //
Tags: Stored Procedure
