Est-ce que l’injection SQL fonctionne dans les winforms?

Je fais un logiciel Windows en C #. J’ai lu sur sql-injection mais je n’ai pas trouvé que cela fonctionnait avec mon application.

Est-ce que l’injection SQL fonctionne dans les winforms?
Si oui, comment les prévenir.

EDIT: J’utilise des zones de texte pour lire le nom d’utilisateur et le mot de passe. et en utilisant textboxex, j’ai trouvé que le texte de textbox se trouvait entre guillemets ( "" ). Donc je ne l’ai pas trouvé être travaillé.

Et quand j’utilise les guillemets " OU ' dans la zone de texte, le texte est lu comme \" OU \'

Exemple:

  ................... USER NAME: | a" OR "1"=="1 | ``````````````````` // it is read as textBox1.Text = "a\" OR \"1\"==\"1"; 

L’injection SQL est un problème général qui ne dépend d’aucune technologie. Si vous utilisez .NET et souhaitez empêcher l’injection SQL, utilisez toujours SqlParameter au lieu de la concaténation de chaînes.

Oui. Le moyen le plus simple d’éviter ce problème consiste à utiliser SqlParameter s pour toute entrée utilisateur envoyée à la firebase database. Ou n’utilisez pas SqlDataAdapter et utilisez Entity Framework à la place.

L’injection SQL est provoquée par l’utilisation d’entrées d’utilisateurs directement dans des instructions SQL construites à la volée (appelées SQL dynamic), ce qui permet aux utilisateurs de casser le code SQL ou d’injecter leur propre code SQL.

L’utilisation de procédures stockées ou de SQL avec des parameters permet de contourner ce problème.

Donc oui, cela peut se produire dans les winforms si le code SQL est codé de cette façon.