2009-12-28 3 views
1

내가ADO 레코드 진수 값 문제

Dim A, B, C 
Set rs = Server.CreateObject("ADODB.Recordset") 
strSql = "Exec [dbo].[some_sp] IND" 
rs.open strSql,CN,3,3 

Do While Not rs.EOF 

'these columns are returned as decimal(10,2) format 
A = rs("col1") 
B = rs("col2") 

rs.MoveNext 
Loop 

C = A + B 'i get type mismatch error here 

유사한 코드를 그리고 나는 그들이 정수 형식으로되어 및

내가해야합니까 진수없는 A, B 값을 확인 Response.Write를 사용 형식 레코드 세트를 다시 10 진수 값을 설정하려면? 그리고 모든 값이 정수이기 때문에 유형 불일치 문제가 발생할 수 있습니다 (10 진수 임에도 불구하고).

+0

응답 : B = CDbl (rs ("col2")) –

답변

3

ASP/VBScript의 변수는 변형 유형이므로 값을 명시 적으로 변환해야 할 수 있습니다.

C = CDbl(A) + CDbl(B) 

그러나 내 생각에 행 중 하나에는 col1 또는 col2에 대한 숫자 값이 없습니다. 유형 불일치 오류가 발생했을 때 그 값이 무엇인지 알고 있습니까?

+0

또한 프로 시저가 NULL을 반환 할 수 있습니까? – Sparky

+0

예 응답 값은 모두 여기에 대한 결과입니다. 73, 0, 1, 0, 0, 0 내가 추가하기 전에 십진수가 되길 원하지만 정수형입니다. –

+2

저는 그것을 알아 냈습니다. CDbl을 사용하고 작동 중입니다 (Cdec이 작동하지 않습니다). –