private void DataGrid1_DeleteCommand(objectsource,System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string strDEL="Delete FROM worksort WHERE id=" + DataGrid1.DataKeys[(int)e.Item.ItemIndex];
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("/TouchScreen/TouchScreen.mdb");
OleDbConnection conn = new OleDbConnection(strConn);
OleDbCommand myCommand = new OleDbCommand (strDEL,conn); try
{
conn.Open();
myCommand.ExecuteNonQuery();
conn.Close();
}
catch(Exception ee)
{
throw ee;
}
Bind();
}
上面的代码到底时哪里错了,删除的时候老是报错!我连的是ACCESS!“索引超出范围。必须为非负值并小于集合大小。参数名: index ”
错误行:string strDEL="Delete FROM worksort WHERE id=" + DataGrid1.DataKeys[((int)e.Item.ItemIndex + 1)];
{
string strDEL="Delete FROM worksort WHERE id=" + DataGrid1.DataKeys[(int)e.Item.ItemIndex];
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("/TouchScreen/TouchScreen.mdb");
OleDbConnection conn = new OleDbConnection(strConn);
OleDbCommand myCommand = new OleDbCommand (strDEL,conn); try
{
conn.Open();
myCommand.ExecuteNonQuery();
conn.Close();
}
catch(Exception ee)
{
throw ee;
}
Bind();
}
上面的代码到底时哪里错了,删除的时候老是报错!我连的是ACCESS!“索引超出范围。必须为非负值并小于集合大小。参数名: index ”
错误行:string strDEL="Delete FROM worksort WHERE id=" + DataGrid1.DataKeys[((int)e.Item.ItemIndex + 1)];
解决方案 »
- 求解决求解决...vs2010中无法创建sqlserver数据库 网上的方法用完了都不行.
- 服务器应用程序不可用到底如何解决
- |M| 学习写控件第十二贴:如何设计控件在设计页里显示的值的设计
- 如何用C#删除磁盘文件?
- 问一个简单的问题:有了web控件,为什么还要html控件
- 如何比较两个字符串是否相等?
- email 发送报错 不允许使用邮箱名称 我用的是smtp.163.com的 怎么解决???
- asp.net线程池
- 数据库某一个字段中保存了一段包含HTML代码,我要将它读取显示出来,我用label1.Text,HTML标记也显示出来了,我该怎么做?
- 菜鸟问题:为什么不能创建应用程序?
- 同志们,不能用javascript控制鼠标的位置??
- 在后台写代码,触发时,跳出提示框
和
DataGrid1.DataKeys[((int)e.Item.ItemIndex + 1)];怎么前后不一样?
不好意思,这个是手误。前后是一样的,都是DataGrid1.DataKeys[(int)e.Item.ItemIndex];。
以下是数据绑定时用的方法:
private void Bind()
{ string strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("/TouchScreen/TouchScreen.mdb");
OleDbConnection conn = new OleDbConnection(strConn);
string strSQL = "SELECT id,title,left(content,40) as content FROM meetguide";
conn.Open();
OleDbDataAdapter myAda = new OleDbDataAdapter(strSQL,conn);
DataSet myDataSet = new DataSet();
myAda.Fill(myDataSet); DataGrid1.VirtualItemCount = myDataSet.Tables[0].Rows.Count;
DataGrid1.DataSource = myDataSet.Tables[0].DefaultView;
DataGrid1.DataBind(); 《--报错行
conn.Close();
}不知哪里出了错?
DataGrid1.DataSource = myDataSet.Tables[0].DefaultView;DataGrid1.CurrentPageIndex=1;
DataGrid1.DataBind(); 《--报错行
不过在第一次绑定前DataGrid1.CurrentPageIndex=1;可能会出错
你可以在删除执行后接着执行DataGrid1.CurrentPageIndex=1;