2011-02-19 16 views
0

デスクトップアプリケーション(Windows Forms C#4)でMS SQL CE 3.5を使用しており、データベースを変更する可能性は低いです。コンパクトエディションのより限定されたSQL構文では、時にはレンガの壁にぶつかった。UPDATEの単一クエリ "ラジオボタン"選択動作

現在、私は2つのクエリを必要とするが、1つにそれらを結合したいと思います:

UPDATEのmanganames SET表示= 0、ID = @ IDと表示= 1

UPDATE manganamesのSET表示= 1 WHERE ID = @ IDと名前= @名

表示があり、データ型BIT

は、私の質問は完全にクレアよりも、むしろ簡単だったありがとうR

最終クエリは、私のstackoverflowの整形のスキル

UPDATEのmanganames
SET表示= CASE名= @名THEN ELSE 1 0 END
ID = @ IDを

PSを次の吸います。ここで

答えて

0

はあなたが

UPDATE manganames 
SET display = 
    CASE WHEN display = 1 then 0 
     WHEN name = @name 
     ELSE display 
    END 
WHERE id = @id 

を試すことができるものだあなたは説明できない条件がいくつかあります。まず、display = 1とname = nameのときにどうなるでしょうか?あなたが見せているものでは、0と1の両方が割り当てられます。私の例では、最初のWHEN句が適用され、0が表示に割り当てられます。

第2に、<> 1と名前<> @nameと表示するとどうなりますか?私の例では、ELSE条件は表示を表示に割り当てますが、結果は変化しません。