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);
}
当我 运行 我的问题时,它显示这个错误:
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);
}