con=SQLCONNECT("LocalMSSQL") IF con>0 CLEAR CREATE CURSOR foo (f1 M, f2 C(10) DEFAULT f1) INSERT INTO foo (f1) VALUES ("ABC\"+CHR(13)+"tesT") ?SQLEXEC(con,"select ?foo.f1 rf1,?foo.f2 rf2") ?rf1==foo.f1,rf2==foo.f2 && <==== FAIL ?SQLEXEC(con,"select ?foo.f2 rf2") ?rf2==foo.f2 && <==== SUCCESS !!!!!!! SQLDISCONNECT(con) ENDIFODBC Log
vfp8 990-9cc ENTER SQLBindParameter HSTMT 02311B60 UWORD 1 SWORD 1 <SQL_PARAM_INPUT> SWORD 1 <SQL_C_CHAR> SWORD 12 <SQL_VARCHAR> SQLULEN 9 SWORD 0 PTR 0x00000000 SQLLEN 0 SQLLEN * 0x014F95E8 vfp8 990-9cc EXIT SQLBindParameter with return code 0 (SQL_SUCCESS) HSTMT 02311B60 UWORD 1 SWORD 1 <SQL_PARAM_INPUT> SWORD 1 <SQL_C_CHAR> SWORD 12 <SQL_VARCHAR> SQLULEN 9 SWORD 0 PTR 0x00000000 SQLLEN 0 SQLLEN * 0x014F95E8 (-109) vfp8 990-9cc ENTER SQLBindParameter HSTMT 02311B60 UWORD 2 SWORD 1 <SQL_PARAM_INPUT> SWORD 1 <SQL_C_CHAR> SWORD 12 <SQL_VARCHAR> SQLULEN 10 SWORD 0 PTR 0x00E903E8 SQLLEN 0 SQLLEN * 0x014F9624 vfp8 990-9cc EXIT SQLBindParameter with return code 0 (SQL_SUCCESS) HSTMT 02311B60 UWORD 2 SWORD 1 <SQL_PARAM_INPUT> SWORD 1 <SQL_C_CHAR> SWORD 12 <SQL_VARCHAR> SQLULEN 10 SWORD 0 PTR 0x00E903E8 SQLLEN 0 SQLLEN * 0x014F9624 (10) vfp8 990-9cc ENTER SQLExecDirect HSTMT 02311B60 UCHAR * 0x014E2E60 [ -3] "select ? rf1,? rf2\ 0" SDWORD -3 vfp8 990-9cc EXIT SQLExecDirect with return code 99 (SQL_NEED_DATA) HSTMT 02311B60 UCHAR * 0x014E2E60 [ -3] "select ? rf1,? rf2\ 0" SDWORD -3 vfp8 990-9cc ENTER SQLParamData HSTMT 02311B60 PTR * 0x0012F734 vfp8 990-9cc EXIT SQLParamData with return code 99 (SQL_NEED_DATA) HSTMT 02311B60 PTR * 0x0012F734 vfp8 990-9cc ENTER SQLPutData HSTMT 02311B60 PTR 0x014FECA0 SQLLEN 9 vfp8 990-9cc EXIT SQLPutData with return code 0 (SQL_SUCCESS) HSTMT 02311B60 PTR 0x014FECA0 SQLLEN 9 vfp8 990-9cc ENTER SQLParamData HSTMT 02311B60 PTR * 0x0012F734 vfp8 990-9cc EXIT SQLParamData with return code 0 (SQL_SUCCESS) HSTMT 02311B60 PTR * 0x0012F734 vfp8 990-9cc ENTER SQLNumResultCols HSTMT 02311B60 SWORD * 0x0012F8D0 ..SNIP .. vfp8 990-9cc ENTER SQLBindParameter HSTMT 02311B60 UWORD 1 SWORD 1 <SQL_PARAM_INPUT> SWORD 1 <SQL_C_CHAR> SWORD 12 <SQL_VARCHAR> SQLULEN 10 SWORD 0 PTR 0x00E90098 SQLLEN 0 SQLLEN * 0x014F95E8 vfp8 990-9cc EXIT SQLBindParameter with return code 0 (SQL_SUCCESS) HSTMT 02311B60 UWORD 1 SWORD 1 <SQL_PARAM_INPUT> SWORD 1 <SQL_C_CHAR> SWORD 12 <SQL_VARCHAR> SQLULEN 10 SWORD 0 PTR 0x00E90098 SQLLEN 0 SQLLEN * 0x014F95E8 (10) vfp8 990-9cc ENTER SQLExecDirect HSTMT 02311B60 UCHAR * 0x00E903E8 [ -3] "select ? rf2\ 0" SDWORD -3 vfp8 990-9cc EXIT SQLExecDirect with return code 0 (SQL_SUCCESS) HSTMT 02311B60 UCHAR * 0x00E903E8 [ -3] "select ? rf2\ 0" SDWORD -3 ..SNIP..Of course, I do not have to explain to you what he is obvious.