程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET 2.0數據教程之四十九:使用SqlDataSource插入、更新以及刪除數據

ASP.NET 2.0數據教程之四十九:使用SqlDataSource插入、更新以及刪除數據

編輯:關於ASP.NET

返回“ASP.NET 2.0數據教程目錄”

導言

在概述插入、更新和刪除數據中我們討論過,GridView控件提供 了內建的更新與刪除功能,而DetailsView和FormView控件除了這些之外還擁有插 入功能。這些數據修改功能可以直接接入到數據源控件中而不需要編寫任何代碼 。概述插入、更新和刪除數據講解了如何使用ObjectDataSource來幫助GridView 、DetailsView以及FormView控件完成插入、更新以及刪除操作。 ObjectDataSource能工作的地方,SqlDataSource也行。

回憶一下,要使 ObjectDataSource支持插入、更新和刪除功能,我們需要定義一些用以執行插入 、更新和刪除動作的對象層方法。而在SqlDataSource中,我們則需要提供INSERT 、UPDATE以及DELETE語句(或存儲過程)。正如我們將要在本節教程中看到的那 樣,這些語句可以手工創建,也可以通過SqlDataSource的“配置數據源 ”向導自動生成。

注意:由於我們已經討論過了GridView、 DetailsView以及FormView控件的插入、編輯和刪除功能,本教程中我們將重點討 論如何配置SqlDataSource以使其支持這些操作。如果你需要溫習一下如何在 GridView、DetailsView以及FormView中實現這個功能,請回到“編輯插入 和刪除數據”的章節,從概述插入、更新和刪除數據開始。

第一步 :指定INSERT、UPDATE以及DELETE語句

就像我們在上兩節教程中看到的那 樣,要從SqlDataSource控件中獲取數據,我們需要設置兩個屬性:

1.ConnectionString,它指定了查詢應該發送到的那個數據庫;

2.SelectCommand,它指定了用於返回記錄的SQL語句或存儲過程。

對於帶參 數的SelectCommand,其參數值通過SqlDataSource的SelectParameters集合來進 行指定,可以包含硬編碼值和通用參數源(比如QueryString、Session、Web控件 等等),也可以通過編程的方式來對其進行賦值。當SqlDataSource控件的 Select()方法被調用時(無論是通過編程來調用或是由數據Web控件自動調用), 一個數據庫連接將被建立,然後參數值被賦值給查詢,然後command被發送到數據 庫。結果將以DataSet或DataReader的形式返回,具體的返回形式取決於這個控件 的DataSourceMode屬性的值。

除了獲取數據之外,SqlDataSource還可以 以非常相似的辦法通過提供INSERT、UPDATE以及DELETE語句來插入、更新以及刪 除數據。只需簡單的給InsertCommand、UpdateCommand以及DeleteCommand屬性賦 上INSERT、UPDATE以及DELETE語句就可以了。如果語句帶有參數(這也是常有的 事),把這些參數放到InsertParameters、UpdateParameters以及 DeleteParameters集合裡就可以了。

一旦InsertCommand、UpdateCommand 或DeleteCommand的值被指定,相應數據Web控件的智能標簽中的“允許插入 ”、“允許編輯”或“允許刪除”選項將會變為可用 。為了說明這個問題,我們就以在教程使用SqlDataSource 控件查詢數據中創建 的Querying.aspx為例,給它加上刪除功能。

首先從SqlDataSource文件夾 中打開InsertUpdateDelete.aspx和Querying.aspx。在Querying.aspx的設計器中 選擇第一個例子中的SqlDataSource和GridView(就是ProductsDataSource和 GridView1)。選好了這兩個控件之後,在“編輯”菜單中選擇 “復制”(或者直接Ctrl+C)。然後,到InsertUpdateDelete.aspx的 設計器中,並將這兩個控件粘貼上去。將這兩個控件弄到 InsertUpdateDelete.aspx上之後,在浏覽器中測試一下這個頁面。你應該看到 Products表中所有記錄的ProductID、ProductName以及UnitPrice。

圖一:所有的產品都列出來了,並以ProductID 進行了排序

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved