使用简单的方法进行批量删除数据

数据

在网上看到一些批量删除数据的例子.但是大部分是用的数组来保存所选的id.这样比较麻烦,也不容易被理解.我就拿个比较简单的方法来实现这个功能.(只看红色的部分即可,而且还加个删除提示窗口)

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
namespace overred.test
{
/// <summary>
/// t1 的摘要说明。
/// </summary>
public class t1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label message;
protected System.Web.UI.WebControls.LinkButton showck;
protected System.Web.UI.WebControls.CheckBox CheckBox1;
protected System.Web.UI.WebControls.LinkButton delall;
protected System.Web.UI.WebControls.DataGrid dg;
private OleDbCommand cmd;
private OleDbConnection conn;
protected System.Web.UI.WebControls.LinkButton lb;
private string datas;

private void Page_Load(object sender, System.EventArgs e)
{

Session["s"]="dd";
// 在此处放置用户代码以初始化页面
if(!this.Page.IsPostBack)
Sql();

}

private DataSet Getds()
{
datas="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("../overred.mdb");
conn = new OleDbConnection(datas);
conn.Open();
OleDbDataAdapter adp = new OleDbDataAdapter("select * from subnews order by news_order desc", conn);
DataSet ds = new DataSet();
adp.Fill(ds,"link");

return ds;

}
private void Sql()
{
alter();
using (DataSet dss=Getds())

this.dg.DataSource=dss;
this.dg.DataBind();

}
private void alter()//添加确认窗口
{
this.delall.Attributes.Add("onclick","return confirm('确定删除')");

}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.showck.Click += new System.EventHandler(this.showck_Click);
this.delall.Click += new System.EventHandler(this.delall_Click);
this.lb.Click += new System.EventHandler(this.lb_Click);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void showck_Click(object sender, System.EventArgs e)//显示选择的项
{

//ArrayList saveIdChecked=new ArrayList();
CheckBox isChecked;
//遍历每一行
foreach(DataGridItem dataItem in dg.Items)
{
//获取checkbox
isChecked=(CheckBox)dataItem.FindControl("ck");

if(isChecked.Checked==true)
{
string idChecked=dataItem.Cells[1].Text;
Response.Write(idChecked);
Response.Write(isChecked.Checked);
}
}

}

private void delall_Click(object sender, System.EventArgs e)
{
alter();
datas= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("../overred.mdb");
conn = new OleDbConnection(datas);
cmd=new OleDbCommand();
cmd.Connection=conn;
conn.Open();
CheckBox isChecked;
//遍历每一行
foreach(DataGridItem dataItem in dg.Items)
{
//获取checkbox
isChecked=(CheckBox)dataItem.FindControl("ck");

if(isChecked.Checked==true)//如果选中则执行删除命令
{
cmd.CommandText="Delete from subnews where news_id="+dataItem.Cells[1].Text.ToString();
cmd.ExecuteNonQuery();
}
}
Sql();//重新绑定
//Response.Redirect("t1.aspx");
}

}
}

aspx:

<%@ Page language="c#" Codebehind="t1.aspx.cs" trace="true" AutoEventWireup="false" Inherits="overred.

时间: 2024-04-16 06:34:00

使用简单的方法进行批量删除数据的相关文章

asp 保存数据与批量删除数据方法

文章来提供一篇asp教程 保存数据与批量删除数据方法哦,在asp中保存数据到数据库教程也有很多种方法,我们只说了二种,同时删除数据也有很多方法,单条删除,批量删除,会用到for ,in来 实现. 注意:不同的字段名用英文逗号隔开,且不支持星号 表名处输入要查询的表名:如:table1 前台表单页面: 主要是注意input字段的name属性. asp下常用的添加数据代码是: 通过adodb.recordset 优点是:数据库入库比较简单,不用考虑单引号问题.不容易出现错误. 代码如下: usern

asp批量删除数据的几种方法

批量删除数据方法一 id=request.form("checkbox") id=split(id,",") shu=0 for i=0 to ubound(id) sql="select * from jiang_fname where id="&id(i) set rs=conn.execute(sql) if not rs.eof then delete_file(rs("fname")) end if rs.c

批量删除数据方法

在一个Oracle数据库运行过程中,有时候会遇到要批量删除数据的情况,如一个保存历史数据的表中有大量的数据已经不需要保留,要将这部分数据删除.通常采用的方法如下: 1.使用TRUNCATE命令进行删除. 如果是整个表的数据都要删除的话,使用TRUNCATE TABLE命令是理想的选择.它删除了表中的所有数据,并且因为不写REDO LOG FILE,所以速度很快.删除的同时,表的索引和约束条件仍然存在.这种方法适用于ORACLE的各个版本.但是当要删除的数据只是表中的一部分时,这种方法便行不通了.

一种批量删除数据的方法

这两天碰见一个比较紧急的生产问题,由于还在处理中,所以暂时不能给出整体描述,但其中涉及的一个问题就是删除一张大表中的过期历史数据,针对不同的类型的表可能有不同的解决方法,比如若是按照时间做的分区表,drop partition删除分区的操作可能是效率最快的.最简单的,若是一张普通表则需要有一些索引键值为删除条件,但需要注意的是最好做批量删除,且一次删除量不要太多,因为delete操作会将数据前镜像保存在UNDO回滚表空间,由于占用过多.事务过大.执行时间过长.UNDO空间过小等一系列问题存在,就

PHP批量删除数据的方法

PHP教程:研究批量删除数据的方法. SQL:$SQL="delete from `doing` where id in ('1,2,3,4')"; 数据用逗号隔开. 表单: <form action="?action=doing" method="post"> <input name="ID_Dele[]" type="checkbox" id="ID_Dele[]"

sql批量删除数据的几种方法介绍

sql批量删除数据的几种方法介绍 a是A表的一列,存在a=1的数据 1.Delete from A where exists (Select 1 where a=1)  2.Delete from A where exists (Select 1 from A where a=1) 结果 1:只删除a=1一条数据,2:删除所有数据. ,里面的数据是yyyy.mm.dd格式的,另外由表单提交要删除的某一年的数据,该表单名为Year,我现在想通过一个SQL语句批量删除某一年的所有记录,比如删除所有该

Linq To Sql 简单的单表批量删除

      今天在网上看到老赵前辈的扩展LINQ to SQL:使用Lambda Expression批量删除数据,我看完了文章,还没有看源代码,我一般都习惯于在看别人的代码前,思考一下如果我来实现我会如何实现.我想了许久操作表达式树操作二元表达式(BinaryExpression)我是肯定困难的,对于表达式类库的了解不多,用了Reflector反射,结果什么都看不见,也许我的Reflector版本低了,没有更新.我就放弃了这种实现方式,我想有没有其他的方式呢?最终我觉得可以操作生成sql执行同

ThinkPHP实现批量删除数据的代码实例_php实例

ThinkPHP实现批量删除数据原理很简单,只需在模板页面里面写上<input name='id[]' type='checkbox' value='{$vo.id}' class="noborder">这样传过来就是一个数组,action的删除函数del()如下: /** **删除函数支持删除多条和一个 **/ function del(){ //dump($_GET['id']); //$name = strtolower($_GET['_URL_'][0]); //获

php批量删除数据程序代码

  我相信很多朋友还不知道如何来批量删除不要的数据,单使用php 批量删除数据我们需要结合mysql的in条件来实现了,这个估计大家看了这句话就明白如何做了,下面我就来给需要了解的朋友详细分析批量删除数据过程. 我们删除需要的sql语法 delete from aaaa where id in(1,2,3)这里面的1,2,3就是我们需要删除的记录了 那么在php中如何来做 1.首先在文章列表页面(list.php),将多选筐命名为:"$del_id[]",值为文章ID号. 例如(lis