2011-03-10 2 views
0

code:Problèmes avec l'ajout de paramètres de requête

com.CommandText = "select username, pass from Employees where lastName like '@Last' and firstName like '@First'"; 
com.Parameters.AddWithValue("@Last", lastName); // lastName is a method argument 

SqlParameter param = new SqlParameter(); 
param.ParameterName = "@First"; 
param.Value = firstName; 
com.Parameters.Add(param); 

Peu importe ce que je fais, les paramètres ne sont pas insérés. Ce qui donne?

+2

Qu'est-ce qui se passe, vous obtenez un exception? Si oui, quelle est l'exception? – CodingGorilla

+0

Comme je l'ai dit, les paramètres ne sont pas insérés; la chaîne a littéral @Last et @First. –

+0

Utilisez-vous Sql profiler pour voir la commande envoyée au serveur? Comment déterminez-vous que "la chaîne a littéralement @Last et @First"? Que veux-tu dire par là? –

Répondre

4

Ne mettez pas de guillemets simples autour de vos paramètres, ceux-ci sont impliqués de toute façon.

Aussi, essayez d'utiliser SqlCommand.CreateParameter ainsi:

com.CommandText = "select username, pass from Employees where lastName like @Last and firstName like @First"; 
com.Parameters.AddWithValue("@Last", lastName); // lastName is a method argument 

SqlParameter param = com.CreateParameter(); 
param.ParameterName = "@First"; 
param.Value = firstName; 
com.Parameters.Add(param); 
2

essayer de changer le '@Last' à @Last, même chose pour le premier ...

+0

J'ai essayé cela plus tôt, ne fonctionnait toujours pas. –

+0

comment exécutez-vous la commande? – THEn

+0

myDataAdapter.SelectCommand.Parameters.Add ("@ Last", SqlDbType.VarChar, 80) .Value = firstName – THEn