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

各位帮忙,快!该如何解决

2012-03-18 
各位帮忙,快!!Asp:DataGridid mygride OnDeleteCommand dgdelete runatserverWidth 234px Co

各位帮忙,快!!
<Asp:DataGrid     id= "mygride "   OnDeleteCommand= "dgdelete "   runat=server   Width= "234px "   >
   
        <Columns>
        <Asp:ButtonColumn   Text= "删除 "   CommandName= "delete ">
        </Asp:ButtonColumn>
        </Columns>
       
        </Asp:DataGrid>
设计代码
public   void   dgdelete(object   send,DataGridCommandEventArgs   e)
{
        SqlCommand   com   =   new   SqlCommand( "delete   form   car   where   Col001=@cc ");
        com.Parameters.Add(new   SqlParameter( "@cc ",   SqlDbType.Char,   255));
        //com.Parameters[ "@cc "]   =mygride.DataKeys[int.Parse(e.Item.ItemIndex)];

com.Parameters[ "@cc "].Value   =   mygride.DataKeys[(int)e.Item.ItemIndex];
       
        //this.con.Open();
        //try
        //{
        //         com.ExecuteNonQuery();
        //         Response.Write( "成功删除!! ");

        //}
        //catch   (SqlException)
        //{
        //         Response.Write( "无法删除!! ");

        //}

        //this.con.Close();
        //bindgrid();

}
        public   void   bindgrid()
        {
                DataSet   ds   =   new   DataSet();
                SqlCommand   com   =   new   SqlCommand( "select   *   from   car ",this.con);
                SqlDataAdapter   da=new   SqlDataAdapter();
                da.SelectCommand   =   com;
                da.Fill(ds,   "car ");
                this.mygride.DataSource   =   ds.Tables[ "car "].DefaultView;
                this.mygride.DataBind();


        }
com.Parameters[ "@cc "].Value   =   mygride.DataKeys[(int)e.Item.ItemIndex];
解悉这句话的具体含义!!
是给参数cc赋的什么值呀!!
多谢!!


[解决办法]
mygride 的 指定第ItemIndex行 datakeys的值
[解决办法]
如 SqlCommand com = new SqlCommand( "delete form car where Col001=@cc ");
com.Parameters[ "@cc "] = 123;

则SQL语句为
delete form car where Col001=123

[解决办法]
SqlCommand com = new SqlCommand( "delete form car where Col001=@cc ");
com.Parameters[ "@cc "].Value = mygride.DataKeys[(int)e.Item.ItemIndex];


---------------
简单的说就是把上面Col001=@cc中的@cc替换成这个值:mygride.DataKeys[(int)e.Item.ItemIndex]


[解决办法]
主键DataKeys的值
[解决办法]
<Asp:DataGrid id= "mygride " OnDeleteCommand= "dgdelete " runat=server Width= "234px " >
最好加上DataKeyField= "Id ", "Id "就是你绑定数据源的主键
mygride.DataKeys[(int)e.Item.ItemIndex]就是选择行的主键的值
[解决办法]
DataKeys的值啊
DataGrid 的DataKeys值

[解决办法]
DataKeys
[解决办法]
DataGrid.DataKeys[值]
[解决办法]
com.Parameters[ "@cc "].Value = mygride.DataKeys[(int)e.Item.ItemIndex];
=================================
com.Parameters[ "@cc "].Value = mygride.DataKeys[e.Item.ItemIndex];

e.Item 找到当前项
e.Item.ItemIndex 找到当前项的索引
mygride.DataKeys[(e.Item.ItemIndex];找到当前项的索引对应的DataGrid控件的主键值
com.Parameters[ "@cc "].Value = mygride.DataKeys[e.Item.ItemIndex];
找到当前项的索引的主键值赋给参数@cc的Value属性

[解决办法]
为sql语句的参数赋值。参看参数化sql语句的相关内容

热点排行