J'ai une application WPF dans laquelle je reçois
query = " Select * From Table Where Title = someone "
4 Réponses :
Vous devez utiliser une requête SQL paramétrée: voir les docs pour sqlcommand.parameters pour plus d'informations. p> En gros, vous ne devez pas intégrer vos valeurs dans le SQL lui-même pour diverses raisons: < / p>
J'ai tiré dans la viande de votre réponse à la mienne depuis que le mien a été accepté, au moins une personne qui regarde la réponse acceptée verra la pleine information.
Le plus facile est d'utiliser un SQL préparé C #. exemple sur ce message . Vous n'avez pas à vous soucier d'échapper aux caractères de votre chaîne SQL ou de quoi que ce soit p>
Vous pouvez simplement faire ce mais c'est mauvais et vous ouvre à l'injection SQL p> Vous devez simplement utiliser une requête paramétrée p> Quelque chose comme ça devrait vous aider à démarrer p> de la réponse de Jon Skeet puisque son était plus complète que la mienne p> Voir les docs pour SQLCOMMAND.PARAMETERS Pour plus d'informations. P> En gros, vous ne devez pas intégrer vos valeurs dans le SQL lui-même pour diverses raisons: p>
Et si j'ai une variable multiple, je dois ajouter?
Utilisez plusieurs paramètres. Ressemblerait à quelque chose comme cmd.commandtext = "Sélectionnez * à partir de la table où TILE = @title, chose = @Thing code>
cmd.parameters.add (" @ Titre ", quelqu'un); CMD.Parameters .Ajouter ("@ chose, chose); code>
declare @SqlQuery varchar(2000), @Fromdate varchar(20), @Todate varchar(20) set @Fromdate='01 jan 2017' set @Todate='30 mar 2017' set @SqlQuery='select * from tblEmployee where tblEmployee.JDate between '''+ @Fromdate + ''' and '''+ @Todate+ '''' print @SqlQuery
Tu ne devrais pas! Avez-vous déjà entendu de l'injection SQL ou des requêtes paramétrées?
Oui, c'est une très mauvaise pratique
Cette question est trop large, cela équivaut à accéder aux données de SQL Server en fonction de la saisie de l'utilisateur dans une application WPF. Il y a des livres entiers qui viennent de couvrir cela.
Ici, vous pouvez lire des exemples d'injection SQL en.wikipedia.org/wiki/sql_injection
Je me sens stupide maintenant: D Ben
Le débordement de la pile vous fera cela, avec de telles personnes agréables dans la communauté. Plus la réputation est élevée la réponse plus charnue. aimer les réponses qui n'ont aucune critique ou réponses constructives du tout; Ils vous disent plutôt que vous êtes stupide, ce que vous faites est faux, ou fermez votre question.