Bonsoir à tous,
je voulais savoir si c'était possible de rentrer les parametres : @Id.... en récupérant justement le @Id dans une String, ainsi que de lui assigner une valeur de la même façon.
Pour faire simple, je récupère les paramètres, et leurs valeurs dans deux tableaux de String différent, mais lorsque je ne rentre pas les parametres à la main, l'execution de la commande ne fonctionne pas.
Mes deux tableaux sont des qui ont pour but de remplir une table où toutes les colonnes sont en .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
INSERT INTO Test VALUES(@test1, @test3, @test4)
Mon affectation et l'execution se font comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
SqlParameter^ param = gcnew SqlParameter();
		for (i = 0; i < j; i++)
		{
			param->ParameterName = all[i];
			param->Value = argus[i];
		}
		commande->Parameters->Add(param);
		commande->ExecuteReader();
all contient @test1... et argus les valeurs.
J'ai un message d'erreur comme quoi les valeurs scalaires ne sont pas déclarées (ça correspond aux parametres).
Je voulais avoir une fonction qui requete dynamiquement sans passer par la concaténation car d'après ce que j'ai lu je ne sais plus où, ces requêtes ci sont vulnérables aux injections SQL.
Ne sachant pas très bien comment ont lieux les injections SQL, je me demandais également si avec une fonction de concaténation qui prends en paramètre le nombre d'argument, et qui vérifie qu'il n'y en est pas en plus, est-ce que ça peut suffire à gérer ce type de faille ?

Merci de m'avoir lu,
Bonne soirée