首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

为什么小弟我根据ID号来删除,如何一删就删两个的了

2011-12-30 
为什么我根据ID号来删除,怎么一删就删两个的了为什么我根据ID号来删除,怎么一删就删两个的了publicvoidDel

为什么我根据ID号来删除,怎么一删就删两个的了
为什么我根据ID号来删除,怎么一删就删两个的了
public       void       Delete_Click(object       sender,       System.EventArgs       e)      
{      
foreach(DataGridItem       Item       in           JDataGrid.Items)      
{                  
if(((CheckBox)Item.FindControl( "chkDel ")).Checked)      
{      
DeleteRow(this.JDataGrid.DataKeys[(int)Item.ItemIndex-1].ToString());      
}      
}  
Operater   operater=new   Operater();
DataSet   ds=operater.executeDataSet(sql);
this.JDataGrid.DataSource=ds;
this.JDataGrid.DataBind();
operater.Close();
}      
//实现删除
private       void       DeleteRow(string   t)      
{      
string       strCon       =       "server=.;database=ipsoon;uid=sa;password= ";      
SqlConnection       conn       =       new       SqlConnection(strCon);      
SqlCommand       Cmd       =       new       SqlCommand( "delete   from   PE_Article   where   ArticleID= ' "+t+ " ' ",conn);      
conn.Open();      
Cmd.ExecuteNonQuery();      
conn.Close();            
}

[解决办法]
察看运行出来的页面的代码源,可以发现CheckBox的ID是不同的,且不是chkDel
[解决办法]
设断点自己跟一下吧,呵呵
[解决办法]
你在那个事件里面删除不就行了还用这么麻烦了
后台代码:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class Default5 : System.Web.UI.Page
{
//清清月儿http://blog.csdn.net/21aspnet
SqlConnection sqlcon;
string strCon = "Data Source=(local);Database=北风贸易;Uid=sa;Pwd=sa ";
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bind();
}
}
protected void CheckBox2_CheckedChanged(object sender, EventArgs e)
{
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl( "CheckBox1 ");
if (CheckBox2.Checked == true)
{
cbox.Checked = true;
}
else
{
cbox.Checked = false;
}
}
}
protected void Button2_Click(object sender, EventArgs e)
{
sqlcon = new SqlConnection(strCon);
SqlCommand sqlcom;
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl( "CheckBox1 ");


if (cbox.Checked == true)
{

string sqlstr = "delete from 飞狐工作室 where 身份证号码= ' " + GridView1.DataKeys[i].Value + " ' ";
sqlcom = new SqlCommand(sqlstr, sqlcon);
sqlcon.Open();
sqlcom.ExecuteNonQuery();
sqlcon.Close();
}
}
bind();
}
protected void Button1_Click(object sender, EventArgs e)
{
CheckBox2.Checked = false;
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl( "CheckBox1 ");
cbox.Checked = false;
}
}
public void bind()
{
string sqlstr = "select top 5 * from 飞狐工作室 ";
sqlcon = new SqlConnection(strCon);
SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon);
DataSet myds = new DataSet();
sqlcon.Open();
myda.Fill(myds, "tb_Member ");
GridView1.DataSource = myds;
GridView1.DataKeyNames = new string[] { "身份证号码 " };
GridView1.DataBind();
sqlcon.Close();
}
}

前台主要代码:

<asp:GridView ID= "GridView1 " runat= "server " AllowSorting= "True " AutoGenerateColumns= "False "
CellPadding= "3 " Font-Size= "9pt " BackColor= "White " BorderColor= "#CCCCCC " BorderStyle= "None " BorderWidth= "1px ">
<FooterStyle BackColor= "White " ForeColor= "#000066 " />
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID= "CheckBox1 " runat= "server " />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField= "身份证号码 " HeaderText= "用户ID " SortExpression= "身份证号码 " />
<asp:BoundField DataField= "姓名 " HeaderText= "用户姓名 " SortExpression= "姓名 "/>

<asp:BoundField DataField= "家庭住址 " HeaderText= "家庭住址 " SortExpression= "家庭住址 "/>

</Columns>
<RowStyle ForeColor= "#000066 " />
<SelectedRowStyle BackColor= "#669999 " Font-Bold= "True " ForeColor= "White " />
<PagerStyle BackColor= "White " ForeColor= "#000066 " HorizontalAlign= "Left " />
<HeaderStyle BackColor= "#006699 " Font-Bold= "True " ForeColor= "White " />
</asp:GridView>
<asp:CheckBox ID= "CheckBox2 " runat= "server " AutoPostBack= "True " Font-Size= "9pt " OnCheckedChanged= "CheckBox2_CheckedChanged "
Text= "全选 " />
<asp:Button ID= "Button1 " runat= "server " Font-Size= "9pt " Text= "取消 " OnClick= "Button1_Click " />
<asp:Button ID= "Button2 " runat= "server " Font-Size= "9pt " Text= "删除 " OnClick= "Button2_Click " />




[解决办法]
sqlserver有自带的监察器,监测一下你的程序提交的所有的SQL语句,你就明白了

热点排行