Manquant opérande après " le Nom de l'Opérateur d'opérateur

Je suis filtrage mon gridview à l'aide de dataview. Je suis de passage de la commande filtre à dataview comme mentionné ci-dessous;

string strFilter= " 0=0 ";

if (Session["SampleSession"] != null)
        {
            strFilter= strFilter+ " and Emp Name = '" + Session["SampleSession"].ToString() + "' ";
        }
dv.RowFilter = strFilter;  //Throws an error here!

Il déclenche une erreur d'opérande Manquant après 'le Nom de l'Opérateur d'opérateur en ligne ci-dessus.

je crois il y a une petite erreur que je n'arrive pas à attraper.

Qu'est-ce que strFilter's de la valeur quand il frappe de cette ligne?
qu'est-ce que 0=0 dans string strFilter= " 0=0 "; ?
Le "0=0" est un espace réservé de sorte que vous pouvez facilement ajouter "et EmpName = 'Foo'" et encore valide, l'expression de filtre.
Je pense en ce moment (jusqu'à ce que vous pouvez me donner la valeur de strFilter), c'est que votre "SampleSession" variable d'un seul caractère de devis en elle qui est la rupture de l'expression. Une sorte de pauvre de la vulnérabilité d'injection SQL. Pourriez-vous éventuellement être en train de passer d'un nom employé comme "Bob O'Hara"?
en ne répondant pas aux demandes répétées pour le valeur de strFilter, vous avez gaspillé un certain nombre de personnes temps à essayer de répondre à une question que ne contient pas de problème. Juste une recommandation pour l'avenir: code postal que en fait, les causes du problème; puisque vous (par définition) ne comprennent pas la question, il est trop facile de accidentellement supprimer la cause réelle lors de la publication d'une question.

OriginalL'auteur Romil N | 2011-08-08