Le type de Système.Les données.SqlClient.SqlDataReader " n'a pas de constructeurs définis

J'ai des problèmes avec SqlDataReader. J'obtiens l'erreur "Le type du Système".Les données.SqlClient.SqlDataReader "n'a pas de constructeurs définie" lorsque j'essaie de l'exécution de la page. Mon intention ici est de retourner une chaîne de valeur 0 si l'utilisateur n'a pas eu accès ou 1 lorsque l'utilisateur a évaluer. Ci-dessous mon code extrait.

public string CheckAssess(string emailAddress, string columnName)
{
    string chkAssess;
    SqlDataReader readAssess;
    readAssess = new SqlDataReader();

    string MgrAssessQry = "SELECT '"+columnName+"' FROM tblAllUsers";
    MgrAssessQry += " WHERE email ='" + emailAddress + "'";

    SqlCommand cmdReadAssess = new SqlCommand(MgrAssessQry, cn);
    cn.Open();
    readAssess = cmdReadAssess.ExecuteReader();

    while(readAssess.Read())
    {
        //Add the rows
       chkAssess = readAssess["IsAssessMgr"].ToString();
    }

    return chkAssess;
}
  • Sans rapport avec conseils: SqlConnection, SqlCommand et SqlDataReader sont tous IDisposable donc chacun doit être dans un using bloc. Aussi, méfiez-vous de la construction de requêtes à l'aide de la concaténation de chaîne, car il rend votre code vulnérable à des attaques par injection SQL: utilisation des paramètres SQL.
InformationsquelleAutor Guzzyman | 2014-03-04