Я хочу удалить строку Data gridview
,if i delete a single row in the data grid view mean that deleted row will remove from the grid view, but i have this error "ExecuteNonQuery: CommandText property has not been initialized"
Что я уже пробовал:
string update=""; DateTime now = DateTime.Now; private void delete() { try { if ((gvClass.Rows.Count > 0) || gvClass.CurrentCell.ColumnIndex < 1) { search = Convert.ToString(gvClass.CurrentRow.Cells[0].Value.ToString()); } if (MessageBox.Show("Do you want to Delete?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.No) { } else { con.Open(); string query1 = "select * from tblClass WHERE ID LIKE '" + search + "' and status=1 order by ID "; SqlCommand cmd1 = new SqlCommand(query1, con); SqlDataReader dr1 = cmd1.ExecuteReader(); if (dr1.Read()) { string f = dr1["ID"].ToString(); if (search == f) { update = "update tblClass set status=0,delete_time=convert(datetime,'" + now + "', 103) where ID='" + search + "' "; } } dr1.Close(); cmd1.ExecuteNonQuery(); con.Close(); con.Open(); cmd = new SqlCommand(update, con); cmd.ExecuteNonQuery(); con.Close(); MessageBox.Show("Deleted SuccessFully"); view(); } } catch (Exception ex) { throw ex; } } private void view() { string view =""; con.Open(); SqlDataAdapter da =new SqlDataAdapter("select * from tblClass where status =1",con); DataSet ds = new DataSet (); this.gvClass.Rows.Clear(); gvClass.Rows.Clear(); da.Fill(ds); DataTable dt =ds.Tables[0]; if (dt.Rows.Count != 0) { gvClass.Rows.Add(dt.Rows.Count); for (int i = 0; i < dt.Rows.Count; i++) { for (int i1 = 0; i1 < gvClass.Rows.Count - 0; i1++) { gvClass.Rows[i1].Cells[0].Value = (i1 + 1).ToString(); } gvClass.Rows[i].Cells["Id"].Value = Convert.ToString(dt.Rows[i]["Id"].ToString()); gvClass.Rows[i].Cells["Name"].Value = Convert.ToString(dt.Rows[i]["Name"].ToString()); } } con.Close(); }
Vjay Y
Поскольку каждая проблема приходит с решением, внимательно посмотрите на исключение. Он утверждает, что "свойство CommandText не было инициализировано", что означает, что текст команды передается как нулевое или пустое значение.