SqlDataReader.GetString Error: Invalid Arguments

SqlDataReader.GetString Error: Invalid Arguments

当我 运行 我的问题时,它显示这个错误:

The best overloaded method match for 'System.Data.Common.DbDataReader.GetString(int)' has some invalid arguments.

我的代码:

SqlConnection con = new SqlConnection(ConnectionClass.connectionclass);
    SqlCommand com;
    SqlDataReader dr;
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        con.Open();
string query = "SELECT * FROM student WHERE Name = '"+comboBox1.Text+"'";
        com = new SqlCommand(query, con);
        dr = com.ExecuteReader();
        while (dr.Read())
        {
            string abc = dr.GetString("Name");

        }

    }

您应该向 SqlDataReader.GetString 方法提供列序号,而不是列名:

var ordinal = dr.GetOrdinal("Name");
while (dr.Read())
{
    string abc = dr.GetString(ordinal);

}