asp.net中GridView删除出错,提示mycommand.ExecuteNonQuery数据类型不匹配

来源:百度知道 编辑:UC知道 时间:2024/06/01 21:27:22
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{

// string id = (int);

string sqlstr = "delete from admin where id='" + GridView1.DataKeys[e.RowIndex].Value.ToString() +"'";

OleDbConnection myConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("~/Data/data.mdb"));

myConnection.Open();

OleDbCommand myCommand = new OleDbCommand(sqlstr,myConnection);

myCommand.ExecuteNonQuery();// 提示标准表达式中数据类型不匹配
bind();
}
设置了GridView中的DataKeynames="ID"
可是运行后点删除就出现上面的错误提示

string sqlstr = "delete from admin where id='" + GridView1.DataKeys[e.RowIndex].Value.ToString() +"'";
换成
string sqlstr = "delete from admin where id=" + GridView1.DataKeys[e.RowIndex].Value.ToString();

你数据库表里的ID应该是int类型吧??但你删除的时候,赋的值是string类型的啊!!!要转换类型
convert.toint32()