产品的更新和删除()
ST_Admin_promanaspxcs的主要代码及其解释
当页面加载时会运行Page_Load中的代码将数据读出来然后绑定到GridView控件如程序所示
程序 ST_Admin_promanaspxcs
protected void Page_Load(object sender SystemEventArgs e)
{
//不是管理员或Session已经超时
if (Session[admin] == null)
{
ResponseRedirect(ST_contralleraspx?cname=noadmin)
}
//当页面首次加载时会运行下面的代码
if(!IsPostBack)
{
string ST_strsql;
ST_strsql = SELECT * FROM ST_tProduct order by ST_ID desc ;
DataTable ST_dt = ST_databaseReadTable(ST_strsql)
GridViewDataSource = ST_dt;
GridViewDataBind()
}
}
【代码说明】代码第~行用来判断当前用户是否是管理员代码第~行用来从数据库获取数据并绑定到GridView在很多情况下这段绑定代码会单独拿出来作为一个方法返回DataTable数据但本例因为分开介绍代码所以并没有这样做感兴趣的读者可以把这个绑定GridView的代码段单独写为一个方法
删除不会使控件处于编辑状态所以只需要在这里得到用户单击的控件的某一项然后用这一项和数据库进行关联即可进行删除操作删除完毕后不要忘记再读出数据重新绑定到控件上主要代码如程序所示
程序 ST_Admin_promanaspxcs
protected void GridView_RowDeleting(object sender
GridViewDeleteEventArgs e)
{
string ST_myid;
string ST_strsql = ;
//获取当前行的主键
ST_myid = GridViewRows[eRowIndex]Cells[]Text;
//删除选择的产品
ST_strsql = delete from ST_tProduct where ST_ID= + ST_myid;
ST_databaseexecsql(ST_strsql)
//重新绑定数据
ST_strsql = SELECT * FROM ST_tProduct order by ST_ID desc;
DataTable ST_dt = ST_databaseReadTable(ST_strsql)
GridViewDataSource = ST_dt;
GridViewDataBind()
}
【代码说明】代码第行非常关键要删除一条数据首先要确定这条数据的ID值因为如果不指定ID值很容易删除数据库中的所有数据代码第行定义了删除语句然后通过代码第行执行这条语句代码~行需要重新绑定GridView中的数据起到更新数据的作用
GridView_RowCancelingEdit在管理员单击取消按钮时触发只需要在这里退出编辑状态再读出数据绑定到控件即可如程序所示
程序 ST_Admin_promanaspxcs
protected void GridView_RowCancelingEdit(object sender
GridViewCancelEditEventArgs e)
{
//取消编辑状态
GridViewEditIndex = ;
//获取所有的数据
string ST_strsql;
ST_strsql = SELECT * FROM ST_tProduct order by ST_ID desc;
DataTable ST_dt = ST_databaseReadTable(ST_strsql)
//绑定到GridView
GridViewDataSource = ST_dt;
GridViewDataBind()
}
【代码说明】代码第行非常关键将EditIndex属性设置为表示取消当前GridView的编辑状态用户可能在编辑时改变了GridView中的内容所以取消编辑后还要通过代码第~行重新绑定数据
[] []