Comment append une valeur à Sql CommandText

De nos jours je programme un logiciel de notation de cricket et tous les détails sont enregistrés dans une database. Je veux savoir comment append +1 au champ " W " dans la database lorsque vous click " Wicket ".

cmd.CommandText = "UPDATE database.table SET W=W+1 WHERE bowler='" & frmmain.lblbowler.Text & "' " 

Dans ce code, frmmain.lblbowler.text contient le nom du quilleur.

Ce code est-il correct? Quels changements doivent faire? S'il vous plaît, soyez assez aimable pour répondre.

Ne créez jamais une requête de cette façon! L'input frmmain.lblbowler.Text est généralement récupérée à partir d'un contrôle TextBox sur un formulaire Windows ou une page Web. Tout ce qui est placé dans ce contrôle TextBox sera mis dans frmmain.lblbowler.Text et ajouté à votre string SQL. Cette situation invite un pirate à replace cette string par quelque chose de malveillant. Dans le pire des cas, vous pouvez donner le contrôle total de votre ordinateur.

Au lieu de build dynamicment une string, comme indiqué dans votre code, utilisez des parameters.

Tout ce qui est placé dans un paramètre sera traité comme des données de champ, et non comme une partie de l'instruction SQL, ce qui rendra votre application beaucoup plus sûre.

Essayez le suivant

 cmd.CommandText = "UPDATE database.table SET W=W+1 WHERE bowler = @bowler" command.Parameters.Add("@bowler", SqlDbType.NVarChar) command.Parameters("@bowler").Value = frmmain.lblbowler.Text