Я поддерживаю / улучшаю веб-приложение, написанное на классическом ASP / VBScript. Прошло около 10 лет с тех пор, как я использовал либо в повседневной работе. Я просто наткнулся на проблему, которую я бы назвал «гоча», и мне было интересно, есть ли у других похожие вещи, о которых я должен научиться знать.
Моя проблема:
Мне пришлось преобразовать столбец в таблице SQL из числа с плавающей запятой в десятичную. Оказывается, что десятичный тип не является типом, который действительно поддерживается (или хорошо поддерживается) в vbscript. Итак, следующий код:
Dim var1, var2
var1 = rs("DecimalField1").Value
var2 = rs("DecimalField2").Value
If (var1 <> var2) Then
'Do Something'
End If
Возникла бы ошибка несоответствия типов в строке:
If (var1 <> var2) Then
После долгих поисков я обнаружил, что:
var1 = CDBL(rs("DecimalField1").Value)
var2 = CDBL(rs("DecimalField2").Value)
решает проблему. Но это не казалось очевидным, и мне потребовалось некоторое время, чтобы понять, какого черта я получаю несоответствие типов в этой строке.
Так что мой вопрос ко всем: с какими еще небольшими причудами вы сталкивались? Какие вещи в ASP / vbscript вы бы назвали «недочётами», которые я должен искать?