Я получил сообщение об ошибке:
Invalid attempt to call MetaData when reader is closed.
И это указывает на этот код:
--> txtMname.Text = dr1["Crew_Mname"].ToString();
Код ниже - мой комбинированный список для среднего имени, где он будет заполнятьсявсе необходимые textboxex, если он найдет результат.
private void txtMname_SelectedIndexChanged(object sender, EventArgs e)
{
txtMname.Items.Clear();
txtMname.Text = "";
econ = new SqlConnection();
econ.ConnectionString = emp_con;
econ.Open();
ecmd = new SqlCommand("SELECT Crew_Lname, Crew_Fname, Crew_Mname, Crew_Add1, Crew_Add2, Crew_Contact, Crew_Bdate, Rank_Name FROM CREW C, SKILL_RANK SR WHERE C.Rank_Id = SR.Rank_Id AND Crew_Lname like '" + Convert.ToString(txtLname.Text) + "%' AND Crew_Fname like '" + Convert.ToString(txtFname.Text) + "%'", econ);
ecmd.CommandType = CommandType.Text;
ecmd.Connection = econ;
dr1 = ecmd.ExecuteReader();
while (dr1.Read())
{
txtLname.Text = dr1["Crew_Lname"].ToString();
txtFname.Text = dr1["Crew_Fname"].ToString();
txtMname.Text = dr1["Crew_Mname"].ToString();
txtAddress.Text = dr1["Crew_Add1"].ToString();
txtAddress1.Text = dr1["Crew_Add2"].ToString();
txtContact.Text = dr1["Crew_Contact"].ToString();
dtpBdate.Text = dr1["Crew_Bdate"].ToString();
comRank.Text = dr1["Rank_Name"].ToString();
}
econ.Close();
}
И еще одна вещь, я также получаю эту же ошибку, когда я ищу слово с тем же словом, например, я искал Джон
затем в моей базе данных есть имена, такие как Джон Майкл, Джон Эммануэль
, когда я щелкнул слово Джон в своем поле со списком, отобразилась ошибка, и она заполнилась именем Джон Майкл ... что мне делать ...пожалуйста помогите .. я знаю, что они / есть проблема в моем коде ..
спасибо всем.Кстати, я использую VS2010 C # и SQL Server 2005