產品的更新和刪除()
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中的內容所以取消編輯後還要通過代碼第~行重新綁定數據
[] []
From:http://tw.wingwit.com/Article/program/net/201311/15930.html