为什么我的gridview 中 删除事件 老出错 谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/17 03:52:42
//删除
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string Olestr = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + Server.MapPath("baobaoxiong1.mdb");
string Olesstr = "delete from baobaoxiong1 where id='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";
OleDbcon = new OleDbConnection(Olestr);
OleDbcom = new OleDbCommand(Olesstr,OleDbcon);
OleDbcon.Open();
OleDbcom.ExecuteNonQuery();
OleDbcon.Close();
bind();
}
OleDbcom.ExecuteNonQuery();

"标准表达式中数据类型不匹配。"

你的Id 确定是 非数值型吗?
如果是建议你去掉单引号在试试看
我测试过了,可以的。。

这个是我的代码:
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
DeleteData(GridView1.DataKeys[e.RowIndex].Value.ToString());
}

private void DeleteData(string id)
{
using (SqlConnection conn = new SqlConnection("Server=.;database=tempdb;uid=sa;pwd=123;"))
{
SqlCommand comm = new SqlCommand("DELETE test WHERE id=" + id, conn);
conn.Open();
int count = comm.ExecuteNonQuery();
conn.Close();
Response.Write(count.ToString());
GetData();
}
}

页面显示:1 说明删除了。