我目前所做的是对ListBox数据作批量删除,添加到数据库表操作,我用的是students表,我把学生编号ID绑定到ListBox中,显在ListBox内的是学生姓名。
具体操作代码如下:
private void ListboxBind()//把数据绑定到ListBox中
{
strsql = "select StudentID,StudetnName from students";
ds = new DataSet();
da = new SqlDataAdapter(strsql,conn);
conn.Open();
da.Fill(ds,"B");
ltBRights.DataSource=ds.Tables["B"].DefaultView;
ltBRights.DataTextField="StudentName";
ltBRights.DataValueField="StudentID";
ltBRights.DataBind();
conn.Close();
}
//下面是对Listbox的数据作批量删除操作。
private void lbtnDelRights_Click(object sender, System.EventArgs e)//删除权限处理事件
{
if(ltBRights.SelectedIndex.ToString()=="")
{
Response.Write("<script language='javascript'>alert('请选择一个对象!');</"+"script>");
}
else
{
for (int i=0;i<=ltBRights.Items.Count;i++)
{
if (ltBRights.Items[i].Selected == true)
{
strsql = "Delete Rights where RightID='"+ltBRights.Items[i].Value+"'";
ExecuteSql(strsql);//执行SQL语句
ListboxBind();//最后绑定Listbox状态
}
}
}
}
当作批量删除时,会出现如下错误:(索引超出范围。必须为非负值并小于集合大小。参数名: index )
请问各位高手这是什么回事啊????
具体操作代码如下:
private void ListboxBind()//把数据绑定到ListBox中
{
strsql = "select StudentID,StudetnName from students";
ds = new DataSet();
da = new SqlDataAdapter(strsql,conn);
conn.Open();
da.Fill(ds,"B");
ltBRights.DataSource=ds.Tables["B"].DefaultView;
ltBRights.DataTextField="StudentName";
ltBRights.DataValueField="StudentID";
ltBRights.DataBind();
conn.Close();
}
//下面是对Listbox的数据作批量删除操作。
private void lbtnDelRights_Click(object sender, System.EventArgs e)//删除权限处理事件
{
if(ltBRights.SelectedIndex.ToString()=="")
{
Response.Write("<script language='javascript'>alert('请选择一个对象!');</"+"script>");
}
else
{
for (int i=0;i<=ltBRights.Items.Count;i++)
{
if (ltBRights.Items[i].Selected == true)
{
strsql = "Delete Rights where RightID='"+ltBRights.Items[i].Value+"'";
ExecuteSql(strsql);//执行SQL语句
ListboxBind();//最后绑定Listbox状态
}
}
}
}
当作批量删除时,会出现如下错误:(索引超出范围。必须为非负值并小于集合大小。参数名: index )
请问各位高手这是什么回事啊????
{
if (ltBRights.Items[i].Selected == true)
{
strsql = "Delete Rights where RightID='"+ltBRights.Items[i].Value+"'";
ExecuteSql(strsql);//执行SQL语句
ListboxBind();//最后绑定Listbox状态
}
}
大概是这儿问题吧
在批量删除结束前不要重新绑定
当作批量删除时,会出现如下错误:(索引超出范围。必须为非负值并小于集合大小。参数名: index )
不能用<=,要用<