2010-04-20 4 views
0

J'ai cherché sur le net et recherché le net seulement pour ne pas trouver tout à fait probablement le courant dans. J'ai actuellement un problème en obtenant un SqlDataAdapter pour remplir un DataSet. Je cours Visual Studio 2008 et la requête est envoyée à une instance locale de SqlServer 2008. Si j'exécute la requête SqlServer, elle renvoie des résultats. code est le suivant:C# SqlDataAdapter ne pas peupler DataSet

string theQuery = "select Password from Employees where employee_ID = '@EmplID'";  
SqlDataAdapter theDataAdapter = new SqlDataAdapter(); 
theDataAdapter.SelectCommand = new SqlCommand(theQuery, conn); 
theDataAdapter.SelectCommand.Parameters.Add("@EmplID", SqlDbType.VarChar).Value = "EmployeeName"; 
theDataAdapter.Fill(theSet); 

Le code pour lire l'ensemble de données:

foreach (DataRow theRow in theSet.Tables[0].Rows) 
{ 
    //process row info 
} 

S'il y a plus d'info je peux fournir s'il vous plaît laissez-moi savoir.

Répondre

3

Vous avez besoin de la requête pour dire "sélectionner le mot de passe des employés où employee_ID = @EmplID" (pas de guillemets simples autour du paramètre).

+0

Voilà, merci beaucoup. J'accepterai la réponse dès qu'elle me le permettra. – Wesley

+0

Le deuxième ensemble d'yeux est tout ce qu'il faut. Parfois, ils n'ont même pas besoin de faire partie d'une tête intelligente ;-) –

1

Si vous exécutez cette requête, renvoie-t-elle les résultats?

select Password from Employees where employee_ID = 'EmployeeName' 

Ma conjecture est « EmployeeName » devrait être une valeur passée .... et @EmpID ne devrait pas avoir des guillemets simples autour d'elle dans la requête si vous utilisez un paramètre.