asp.net 資料來源控制項可以接受輸入引數,這樣就可以在執行時將值傳遞給這些引數。可以使用引數提供資料檢索的搜尋條件,提供要在資料儲存區中插入、更新或刪除的值,以及提供要排序、分頁和篩選的值。借助引數,使用少量自定義**或不使用自定義**就可篩選資料和建立主/從應用程式。
對於通過支援自動更新、插入和刪除操作的資料繫結控制項(如 gridview 或 formview 控制項)傳遞給資料來源的值,也可以使用引數對其進行自定義。例如,可以使用引數物件對值進行強型別化,或從資料來源中檢索輸出值。此外,引數化的查詢可以防止 sql 注入攻擊,因此使得應用程式更加安全。
可以從各種源中獲取引數值。通過 parameter 物件,可以從 web 伺服器控制項屬性、cookie、會話狀態、querystring 字段、使用者配置檔案屬性及其他源中提供值給引數化資料操作。
可以在 web 應用程式中指定多種型別的引數物件。引數物件的型別確定引數值的**。parameter類是所有引數物件的基類,其中包括所有引數型別通用的 name、type、direction 和 defaultvalue 屬性。通常使用parameter基類指定資料來源如何對從關聯的資料繫結控制項中獲取的引數值(如gridview控制項為update或delete操作傳遞的值)進行處理。
可以使用從parameter類派生的引數型別來獲取其他源中的值,如下表所述。
引數型別
說明 controlparameter
將引數設定為 asp.net 網頁中的 control 的屬性值。使用 controlid 屬性指定control。使用controlparameter物件的 propertyname 屬性指定提供引數值的屬性的名稱。
從control派生的某些控制項將定義 controlvaluepropertyattribute,從而確定從中檢索控制項值的預設屬性。只要沒有顯式設定propertyname屬性,就會使用預設屬性。controlvaluepropertyattribute應用於以下控制項屬性:
cookieparameter
將引數設定為 httpcookie 物件的值。使用 cookiename 屬性指定httpcookie物件的名稱。如果指定的httpcookie物件不存在,則將使用defaultvalue屬性的值作為引數值。
注意 僅支援單值 cookie。
formparameter
將引數設定為 html 窗體欄位的值。使用 formfield 屬性指定 html 窗體欄位的名稱。如果指定的 html 窗體字段值不存在,則將使用defaultvalue屬性的值作為引數值。
profileparameter
將引數設定為當前使用者配置檔案 (profile) 中的屬性的值。使用 propertyname 屬性指定配置檔案屬性的名稱。如果指定的配置檔案屬性不存在,則將使用defaultvalue屬性的值作為引數值。
有關使用者配置檔案的資訊,請參見 asp.net 配置檔案屬性。
querystringparameter
將引數設定為querystring欄位的值。使用 querystringfield 屬性指定querystring欄位的名稱。如果指定的querystring欄位不存在,則將使用defaultvalue屬性的值作為引數值。
sessionparameter
將引數設定為 session 物件的值。使用 sessionfield 屬性指定session物件的名稱。如果指定的session物件不存在,則將使用defaultvalue屬性的值作為引數值。
預設情況下,引數將被型別化為 object。如果引數值是其他型別(如 datetime 或 int32),則可以顯式建立parameter物件,並將引數的type屬性設定為 typecode 值。
預設情況下,引數為輸入引數。在某些情況下,如在使用儲存過程時,可能需要讀取從資料來源返回的值。如果是這樣,可以設定parameter物件的direction屬性,從而確保捕獲資料來源返回給 web 應用程式的資訊。受支援的引數定向設定為 input、inputoutput、output 和 returnvalue。通常,需要處理資料來源控制項事件(如inserted或updated事件)以在完成資料操作後獲取引數的返回值。
資料來源控制項以不同的方式支援引數化操作。例如,通過 sqldatasource 和 accessdatasource 控制項,可以在 sql 語句(如 selectcommand)中指定引數佔位符。objectdatasource 控制項使用引數確定為執行特定的資料操作而呼叫的適當方法簽名,如 selectmethod。有關更多資訊,請參見對 sqldatasource 控制項使用引數和對 objectdatasource 控制項使用引數。
通常,對於每個資料操作,資料來源控制項都包含乙個引數集合。選擇資料時,可以指定乙個selectparameters集合,更新資料項時,可以指定乙個updateparameters集合,依此類推。然後將使用特定操作的引數集合內容為基礎資料來源提供值。插入、更新或刪除資料時,資料來源控制項將為繫結字段建立引數,將它們與顯式指定的引數集合(如果有)進行組合,然後將生成的集合傳遞到資料來源。有關資料來源控制項基於繫結控制項中的資料建立的引數名稱和值的資訊,請參見資料來源控制項如何為資料繫結字段建立引數。
下面的示例演示乙個sqldatasource控制項,該控制項根據querystring欄位中的值檢索資訊。
"下面的示例演示乙個sqldatasource控制項,該控制項根據頁上的其他控制項的值檢索資訊。selectcommand="select employeeid, lastname, firstname from employees
where employeeid = @empid">
sales representative下面的**示例演示乙個sqldatasource控制項,該控制項使用引數化命令查詢和修改資料繫結控制項中的資料。為了對引數值進行強型別化並指定輸出引數,必須顯式指定引數。sales manager
vice president, sales
"selectcommand="select lastname from employees where title = @title">
visual basic
複製**
c#
複製**
資料來源控制項引數類Parameter
parameter 類表示由 asp.net 資料來源控制項用來選擇 篩選或者修改資料的引數化 sql 查詢 篩選表示式或業務物件方法呼叫中的引數。parameter物件包含在 parametercollection 物件中。在執行時計算parameter物件,將其表示的變數的值繫結到資料來源控制項...
資料來源控制項
在進行資料繫結時,資料來源控制項表示實際的資料。2.0中有以下幾種資料來源控制項 sqldatasource 來自sql關聯式資料庫的資料,可以是 sql server oracle db2。accessdatasource 來自access的資料。objectdatasource 來自業務物件的資...
mysql資料來源url引數
jdbc mysql host port database 引數名1 引數值1 引數名2 引數值2 引數名 引數型別 引數詳解 useunicode string 是否使用unicode字符集,如果引數characterencoding設定為gb2312或gbk,本引數值必須設定為true char...