If the error occurs on the line you stated above
Dim surveyNum As Decimal = Decimal.Parse(txtSurveyNum.Text, Globalization.NumberStyles.Number)
then it is failing before the insert statement is being run (also you don't have to put single quotes around numbers during an insert). In the debugger what does it display as the value for txtSurveyNum.Text - is it actually displaying what you enter in the webpage?