2009-07-28 7 views
1

특정 조건에 기반한 if 문을 사용하여 데이터베이스에 데이터를 추가하고 싶습니다. 그러나 아래 코드는 작동하지 않습니다. 조언을 필요로합니다.IF 문을 사용하여 데이터베이스에 데이터 추가

<% If (rs_view.Fields.Item("CGPAOverall").Value>="2.00") Then %> 
rs_view("Status")="Proceed" 

<% Else %> 

rs_view("Status")="Stop" 

<% End If %> 

결과를 데이터베이스에 직접 저장하고 싶습니다. 어떻게해야합니까? 이를위한 올바른 코드를 얻을 수 없습니다. 당신이 도울 수 있기를 바랍니다. 감사. 새 레코드를 추가하는 경우이 필드

rs_view.AddNew() 
rs_view("Status")="Stop" 
rs_view.Update() 

기존 기록을 편집하는 경우의 값을 설정하기 전에

답변

0

, 당신이 설정 한 후, 당신은 rs_view.Update()를 호출 할 필요가 문을 추가 필드의 값을 변경하려는 경우

DB에 변경 사항을 적용하려면 rs_view.Update()으로 전화해야합니다.

<% If (rs_view.Fields.Item("CGPAOverall").Value>="2.00") Then 
    rs_view("Status")="Proceed" 
Else 
    rs_view("Status")="Stop" 
End If 
rs_view.Update() %> 

< %> 사이에있는 문은 서버 (IIS)에서 실행됩니다. 나는 당신이 서버 측 코드 실행 &의 필요성/용도와 < %%의 차이점을 읽을 때, 사용하지 않을 때는/사용하지 않을 것을 제안한다.

2

처음과 마지막을 제외하고 "< %"와 "%>"를 모두 삭제해야한다고 생각합니다.

<% If (rs_view.Fields.Item("CGPAOverall").Value>="2.00") Then 
rs_view("Status")="Proceed" 

Else 

rs_view("Status")="Stop" 

End If %> 
0

주어진 오류 메시지가 없으면 문제의 위치를 ​​알기가 어렵습니다. 이것을 시도하십시오 :

귀하의 CGPAOverall 열이 숫자 열에 저장되어 있다고 가정합니다. 이 목적을 위해 double로 변환하고 문자열 대신 숫자와 비교하는 것이 안전합니다.

<% 
If cdbl(rs_view.Fields.Item("CGPAOverall").Value) >= 2 Then 
    rs_view("Status")="Proceed" 
Else 
    rs_view("Status")="Stop" 
End If 
%> 
0

오류 메시지를 표시하지 않고 문제를 해결하는 것은 불가능합니다.

한 가지 가능성 : 귀하의 레코드 세트가 "rs_view"라고합니다. "rs_view"가 뷰, 테이블 또는 저장 프로 시저에서 왔는지 확실하지 않지만 뷰에서 오는 경우 모든 뷰를 업데이트 할 수있는 것은 아닙니다.

(뷰는 본질적으로 하나 이상의 테이블에서 만들어진 캔드 셀렉트 구문으로, 다양한 계산 된 열을 포함 할 수 있습니다. 실제로 계산 된 열의 변경 사항을 데이터베이스에 저장할 수 없습니다. 실제로 테이블의 열이 아니기 때문에 데이터베이스에 다시 저장할 수 없습니다.

관련 문제