2011-06-27 3 views
-1

Je ne suis pas en mesure d'utiliser cette instruction de mise à jour sans JOIN ... veuillez suggérer une réponse appropriée.Sql Update Command - Quel est le problème avec ce code?

+0

Vous n'avez pas utilisé d'alias pour les colonnes dans la fonction ISNULL. En outre, cela ne semble pas du tout une bonne jointure. Cela ressemble à une situation simple. Pouvez-vous re-vérifier ce que vous devez faire? –

+0

Il y a aussi quelque chose qui ne va pas avec tes parens. juste à (ISNULL (Total_Items, 0) – fehays

+0

Pour ne pas mentionner, dans SQL "DropItemName.SelectedValue" est sans signification et si vous faites cela dans ASP.NET alors que ce cas particulier n'est pas vulnérable, vous écrivez du code dans un de manière à attirer les attaques par injection sql –

Répondre

0

En regardant votre commentaire, je pense que ce que vous voulez est-ce -

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

Le DropItemsName.SelectedValue semble être la valeur que vous substituez à partir du code de l'interface utilisateur.

2

Vous avez juste besoin d'une clause where simple. Pas de jointure

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 travaillé .. –