无法将[]索引应用于"方法组"类型的表达式

Tec*_*Guy 0 c# c#-4.0

查询执行后,我需要采取的结果是UserNames部分.

我得到一个错误:无法将带有[]的索引应用于"方法组"类型的表达式

public class ProcessInput
{
    string connectionString = (string)ConfigurationSettings.AppSettings["myConString"];
    private string msg_arr;
    string username = null;

    private void MooseSeenInput(string MobileNo, string Date, string odd, params Array[] msg_arr)
    {
        SqlConnection conn = new SqlConnection(myConString);
        conn.Open();
        SqlCommand com = new SqlCommand("SELECT * FROM Users as users WHERE UserName=@UserName AND State!='1' AND State!='4'", conn);
        com.Parameters.AddWithValue("@UserName", UserName);
        // com.ExecuteNonQuery();
        using (SqlDataReader reader = com.ExecuteReader())
        {
            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    String UserNames = (reader.Read["users"]);
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

行发生错误:

String UserNames = (reader.Read["users"]);
Run Code Online (Sandbox Code Playgroud)

Ste*_*eve 6

使用

   String UserNames = reader.GetString(0); 
Run Code Online (Sandbox Code Playgroud)

正如@leppie在其评论中指出的那样,您也可以使用字段名称作为索引器
.假设该字段已命名,users您也可以这样写:

  String UserNames = reader["users"].ToString(); 
Run Code Online (Sandbox Code Playgroud)