LOCAL MSSQLStmt AS String CLEAR SET VARCHARMAPPING ON * set your server and credentials (as strings) #DEFINE SERVER_NAME "" #DEFINE USER_LOGIN "" #DEFINE USER_PWD "" TEXT TO m.MSSQLStmt NOSHOW SELECT CAST(GETDATE() AS date) as t_date, CAST(GETDATE() AS datetime) as t_datetime, CAST(GETDATE() AS datetime2) as t_datetime2, CAST(GETDATE() AS smalldatetime) AS t_smalldatetime, CAST(GETDATE() AS time) AS t_time, CAST(GETDATE() AS datetimeoffset) AS t_datetimeoffset, CAST(1.1 AS float) AS t_float, CAST(1.1 AS real) AS t_real, CAST(1.1 AS numeric(10,2)) AS t_numeric10_2, CAST(1 AS bit) AS t_bit, CAST('Žižek' AS char(10)) AS t_char10, CAST('Žižek' AS varchar(10)) AS t_varchar10, CAST('Žižek' AS text) AS t_text, CAST('Žižek' AS char(256)) AS t_char256, CAST('Žižek' AS varchar(256)) AS t_varchar256, CAST('Žižek' AS nchar(10)) AS t_nchar10, CAST('Žižek' AS nvarchar(10)) AS t_nvarchar10, CAST('Žižek' AS ntext) AS t_ntext, CAST('Žižek' AS nchar(256)) AS t_nchar256, CAST('Žižek' AS nvarchar(256)) AS t_nvarchar256, CAST('Žižek' AS nvarchar(max)) AS t_nvarcharmax ENDTEXT MSSQL2VFP_Types("SQL Server", m.MSSQLStmt) MSSQL2VFP_Types("SQL Server Native Client 10.0", m.MSSQLStmt) MSSQL2VFP_Types("SQL Server Native Client 11.0", m.MSSQLStmt) PROCEDURE MSSQL2VFP_Types (Driver AS String, SQLStmt AS String) LOCAL ODBC AS Integer LOCAL Cols AS Integer m.ODBC = SQLSTRINGCONNECT("Driver={" + m.Driver + "};Server=" + SERVER_NAME + ";" + ; "Uid=" + USER_LOGIN + ";Pwd=" + USER_PWD) IF m.ODBC != -1 ? ? m.Driver FONT "Arial",14 STYLE "B" SQLEXEC(m.ODBC, m.SQLStmt, "curCols") FOR m.Cols = 1 TO FCOUNT("curCols") ? PADR(SUBSTR(FIELD(m.Cols, "curCols", 0), 3), 20, ".") ?? TYPE(FIELD(m.Cols, "curCols")) ?? " = [" + TRANSFORM(EVALUATE(FIELD(m.Cols, "curCols"))) + "]" ENDFOR SQLDISCONNECT(m.ODBC) WAIT WINDOW "Click to continue..." ENDIF ENDPROCAre you really sure about the number 9051840 as a representation of {^2005-03-18}?