2011-06-27 4 views
-1
UPDATE a 
SET a.Advanced = ISNULL(Item_Pending,0) - 
    (ISNULL(Total_items,0) - ISNULL(Items_Pres,0) 
FROM Invent a 
    LEFT JOIN Inventory b ON a.Item_Name = '" + DropItemName.SelectedValue + "'"; 

この更新ステートメントをJOINなしで使用することはできません... 適切な答えをお勧めします。Sql Updateコマンド - このコードで何が問題になっていますか?

+0

ISNULL関数の列にエイリアスを使用していません。また、これはまったく適切な結合には見えません。シンプルなように見えます。あなたは何をする必要があるかを再確認できますか? –

+0

あなたのparensにも何か問題があります。あなたがASP.NETの内部でこれをやっているのなら、この特定のケースは脆弱ではないが、あなたはコードを書いているのだが(「ISNULL(Total_Items、0) – fehays

+0

)、SQLでは「DropItemName.SelectedValue」は意味がない。 SQLインジェクション攻撃を誘引するような方法です –

答えて

0

あなたのコメントを見て、私が何をしたいことは、このだと思う -

UPDATE Invent 
SET Advanced = ISNULL(Item_Pending,0) - 
    ISNULL(Total_items,0) - ISNULL(Items_Pres,0) 
WHERE Item_Name = "'" + DropItemName.SelectedValue + "'"; 

DropItemsName.SelectedValueあなたのUIコードから代入している値であると思われます。

2

単純なwhere節が必要です。参加しない。

UPDATE 
    Invent 
SET 
    Advanced = ISNULL(Item_Pending,0) - ISNULL(Total_items,0) - 
     ISNULL(Items_Pres,0) 
WHERE 
    Item_Name = '<whatever value>'; 
+0

heyy thnx..it worked .. –

関連する問題