2009-07-28 8 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 %> 

結果をデータベースに直接保存したいと思います。どうやってやるの?このための正しいコードを取得することはできません。あなたが手伝ってくれることを願います。ありがとう。

答えて

0

あなたは、新しいレコードを追加する場合は、あなたがあなたのフィールドの値

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

を設定しようとする前に、既存のレコードを編集している場合は、あなたが設定した後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

エラーメッセージを表示せずに問題を解決することは不可能です。

1つの可能性:あなたのレコードセットが「rs_view」と呼ばれています。 "rs_view"がビュー、テーブル、またはストアドプロシージャから来ているかどうかはわかりませんが、ビューから来ている場合は、すべてのビューが更新可能であるとは限りません。

(ビューは基本的に1つまたは複数のテーブルから作成された選択ステートメントで、さまざまな計算カラムを含むことができます)。計算されたカラムの変更は、実際にテーブルのカラムではないためデータベースに戻すことはできません。

関連する問題