1

私は SQL を使用するのが初めてで、エラーが発生しています。

SQL コンストラクトまたはステートメントはサポートされていません

Visual Studio では、このステートメントを実行するたびに:

IF (SELECT [Product_Availability] FROM Product WHERE [Product_Name] = @name) = 'True' 
UPDATE [Product] SET [Product_Availability] = 'False' 
WHERE ([Product_Name] = @name) 
ELSE 
UPDATE Product SET [Product_Availability] = 'True' 
WHERE ([Product_Name] = @name)

Visual Studioのクエリ部分のエラーにもかかわらず動作しますが; ただし、データベース ハンドラー クラス内で呼び出した場合はそうではありません。どんな助けでも大歓迎です!

4

1 に答える 1

5

これらすべての if/else の代わりに、単一のステートメントに簡略化してみませんか?

UPDATE dbo.Product_Availability 
  SET Product_Availability = CASE Product_Availability
    WHEN 'True' THEN 'False' ELSE 'True' END
WHERE Product_Name = @name;
于 2012-09-11T14:40:01.753 に答える