我有这段代码,但它不起作用
try
{
con.Open();
using (SqlCommand command = new SqlCommand("select nev, telefonszam, felhasznalonev, lakcim,email from Felhasznalo where felhasznalonev='"+cbUsername.Text+"' ", con))
{
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
string name = reader.GetString(0);
string phone = reader.GetInt32(1).ToString();
string username = reader.GetString(2);
string address = reader.GetString(3);
string email = reader.GetString(4);
tbUsername.Text = username;
tbName.Text = name;
//tbPhoneNumber.Text = phoneNumber.ToString();
tbAddress.Text = address;
tbEmail.Text = email;
}
}
}
catch (Exception ex)
{
MessageBox.Show(""+ex);
}
finally
{
con.Close();
}
错误是:指定演员无效。 怎么了? 我从这里得到了解决方案:https://www.youtube.com/watch?v=sKealDA-Wr8
答案 0 :(得分:-2)
我建议您为要返回的所有字段执行此操作。
string phone = (string)reader["telefonszam"].ToString();
如果数据库结构发生更改或添加新列并更改索引/顺序怎么办?如果该列位置的数据类型要更改,那么使用GetString(4)会失败,这就是我建议您使用的原因实际的列名。