2013-05-10 6 views
2

Im essayant de supprimer une ligne de ma base de données,pourquoi asp.net ne supprimera pas ma ligne?

voici mon code:

sql = "delete sum_lines from sum_lines join sum_tbl on sum_lines.summary_id = sum_tbl.id where sum_tbl.user_id = @userId and sum_lines.line_id ='@lineId'"; 

     SqlConnection con = new SqlConnection(conString); 
     dataObj = new DataObj(); 
     SqlCommand com = new SqlCommand(sql, con); 
     com.Parameters.Add(new SqlParameter("@userId", userId)); 
     com.Parameters.Add(new SqlParameter("@lineId", lineId)); 


     con.Open(); 
     com.ExecuteNonQuery(); 
     con.Close(); 

la chose est que si Im essayant de mon instruction SQL dans l'outil de gestion, il fonctionne parfaitement. mais cela ne se répercutera pas sur ma base de données lorsque mon code est en cours d'exécution.

il va à ce code, je peux voir dans mon mode de débogage, mais il ne sera pas efficace pour une raison quelconque. des entrées?

+0

utilisez-vous 'TransactionScope' avec ceci? – Sachin

+0

Je ne sais pas ce que c'est, donc je suppose que non – thormayer

+0

Pouvez-vous nous montrer une version aseptisée de votre chaîne de connexion? – IrishChieftain

Répondre

6

Suppression de guillemets simples autour de '@lineId'. Avec des guillemets, vous spécifiez la valeur égale à @lineid chaîne dans la deuxième condition.

+0

oh merci, ça a marché. Je pensais que c'est une chaîne que vous devez placer qoutes simples. devinez pas si c'est dans les paramètres. tu as aidé. Merci. – thormayer

+2

@thormayer - Considère les paramètres de l'instruction sql comme des variables. Avec 'com.Parameters.Add', vous spécifiez les valeurs de ces variables. – Igor

Questions connexes