2016-10-12 1 views
0

Iam eine Anwendung erstellen, wo medicine_name die automatische Vervollständigung Text ist, basiert auf dieser Auswahl i EXPIRY_DATE bevölkern will aber, wenn ich laufe das den Code gegeben mir Index außerhalb der Grenzen der Arrays Ausnahme war, meinen Code und Screenshots der Anwendung und Tabellenstruktur abrufen Code i auf dataGridView1_CellEndEdit Ereignisse geschrieben, ich weiß nicht, wo ist im falschen hier im Einfügenwie Abrufen von Wert in Datagridview durch die automatischen Vervollständigung Text

private void dataGridView1_CellEndEdit_1(object sender, DataGridViewCellEventArgs e) 
     { 

string connectionString = null; 
      connectionString = ConfigurationManager.ConnectionStrings["AccessConnectionString"].ConnectionString; 
      con.ConnectionString = connectionString; 


      string medicinename = Convert.ToString(dataGridView1.Rows[e.RowIndex].Cells["Medicine_name"].Value); 
      DateTime Expiry_Date = Convert.ToDateTime (dataGridView1.Rows[e.RowIndex].Cells["Expiry_Date"].Value); 

      con.Open(); 
      cmd = new OleDbCommand("select Expiry_Date from Medicine_Available_Detail where Medicine_Name='" + medicinename + "'", con); 
      OleDbDataReader dr = cmd.ExecuteReader(); 
      while (dr.Read()) 
      { 
       Expiry_Date = Convert.ToDateTime (dr.GetValue(5));// exeception coming on this line 
      } 
      con.Close(); 


     } 

enter image description here enter image description here

Antwort

0

ich habe die Lösung.

string connectionString = null; 
connectionString = ConfigurationManager.ConnectionStrings["AccessConnectionString"].ConnectionString; 
con.ConnectionString = connectionString; 


string medicinename = Convert.ToString(dataGridView1.Rows[e.RowIndex].Cells["Medicine_name"].Value); 
DateTime Expiry_Date=new DateTime(); 

con.Open(); 
cmd = new OleDbCommand("select Expiry_Date as Expiry_Date from Medicine_Available_Detail where [email protected]_Name",con); 
cmd.Parameters.AddWithValue("@Medicine_Name",medicinename); 
OleDbDataReader dr = cmd.ExecuteReader(); 
while (dr.Read()) 
{ 
    Expiry_Date = Convert.ToDateTime(dr["Expiry_Date"]); 

} 
dataGridView1.Rows[e.RowIndex].Cells["Expiry_Date"].Value = Expiry_Date; 
con.Close(); 
Verwandte Themen