我写信是为了寻求有关使用复选框gridview控件删除数据库记录的帮助。
我正在尝试使用复选框和gridview从“ViewData”中删除记录,但“if”条件仍然失败。对于我可能出错的地方的任何进一步帮助将非常感谢。非常感谢您的时间和反馈。
//Method for Deleting Record
protected void DeleteRecord(int ID)
{
SqlConnection con = new SqlConnection(cs);
SqlCommand com = new SqlCommand("delete from tbl_Users where ID=@ID", con);
com.Parameters.AddWithValue("@ID", ID);
con.Open();
com.ExecuteNonQuery();
con.Close();
}
protected void btnDeleteRecord_Click(object sender, EventArgs e)
{
foreach (GridViewRow grow in ViewDataGrid.Rows)
{
//Searching CheckBox("chkDel") in an individual row of Grid
CheckBox chkdel = (CheckBox)grow.FindControl("chkDel");
//If CheckBox is checked than delete the record with particular empid
if (chkdel.Checked)
{
int ID = Convert.ToInt32(grow.Cells[1].Text);
DeleteRecord(ID);
}
}
//Displaying the Data in GridView
showData();
}
错误:输入字符串的格式不正确: int ID = Convert.ToInt32(grow.Cells [1] .Text);
答案 0 :(得分:0)
以下一行
int ID = Convert.ToInt32(grow.Cells [1] .Text);
grow.Cells [1] .Text的实际值可能包含字母字符或空格,因此您收到此错误。
Convert.ToInt32(stringVal)实际上将数字的指定字符串表示形式转换为等效的32位有符号整数,但参数应该是仅包含数字的字符串。
答案 1 :(得分:0)
使用行中的选择查询 string SelectQuery =" SELECT FROM tbl_Users WHERE ID =" + ID; 你错过了你选择的值。
您必须选择所需的特定列,输入*才能选择所有列。 例如string SelectQuery =" SELECT * FROM tbl_Users WHERE ID =" + ID; 要么 string SelectQuery =" SELECT column1,column3 FROM tbl_Users WHERE ID =" + ID;