Я должен поддерживать бэкэнд SqlServer2008 R2.В следующем операторе SQL
lcSql = "SELECT field1, field2, 00000.00 as CalcField FROM myTable"
SqlExec(lnHandle,lcSql,"csrMyTable")
в предыдущих версиях (включая 2008) CalcField будет возвращен как N (8,2), но с R2 он будет возвращен как N (4,2).
Я использую это поле для дальнейших вычислений, а затем помещаю значение calc в CalcField.Теперь это проблема, когда CalcField слишком мал, чтобы содержать значение.
Я подумал о выдаче
lcSql = "SELECT field1, field2, 99999.99 as CalcField FROM myTable"
SqlExec(lnHandle,lcSql,"csrMyTable")
SELECT csrMyTable
REPLACE ALL CalcField WITH 0
Интересно, есть ли у кого-нибудь другое решение.Я использую это во всей своей системе для отчетов, дисплеев и т. Д., Так что это потребует довольно серьезных изменений.
Спасибо!