2016-05-14 8 views
-2
protected void Button1_Click(object sender, EventArgs e) 
{ 
      foreach (GridViewRow grow in GridView1.Rows) 
      { 
       CheckBox chk = (CheckBox)grow.FindControl("chk1"); 
       if (chk.Checked) 
       { 
        int empid =int.Parse((grow.Cells[0]).Text); 
        deleterecord(empid); 
       } 
      } 
      Bind(); 
     } 



     protected static void deleterecord(int empid) 
     { 
      SqlConnection con = new SqlConnection("Data Source=desktop-tvrrh2v;Initial Catalog=FROMSQL;Integrated Security=True"); 
      SqlCommand cmd = new SqlCommand("delete from grrid where [email protected]", con); 
      cmd.Parameters.AddWithValue("@id",empid); 
      con.Open(); 
      cmd.ExecuteNonQuery(); 
     } 
+1

Einige Erklärung würde helfen! – kloarubeek

Antwort

0

immer glauben, dass ich Ihren Code versagt hier:

int empid =int.Parse((grow.Cells[0]).Text); 

weil (grow.Cells[0]).Text nicht als int analysiert werden. Ich schlage vor, Sie diesen Code ändern wie folgt aus:

int empid; 

if (int.TryParse((grow.Cells[0]).Text, out empid)) { 
    // Valid input, do something with it. 
    deleterecord(empid); 
} else { 
    // Not a number, do something else with it. 
    //throw error, try to fix state 
} 

Es wird dringend empfohlen, immer TryParse zu verwenden, wenn Sie Typen konvertieren.

Verwandte Themen