999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

ACCESS帶參數的查詢詳解

2007-08-25 01:30:42吳險峰
智能計算機與應用 2007年4期
關鍵詞:方法

吳險峰

摘要:總結了ACCESS中設計和實用帶參數查詢的方法。介紹了通過ADO訪問ACCESS中的常規方法,并探討了ACC-ESS中查詢與存儲過程的關系,以及以存儲過程方式訪問查詢的方法。

關鍵詞:ACCESS參數查詢存儲過程

1ACCESS環境下的參數查詢

1.1在查詢設計器中建立參數查詢

參數在查詢中,通常作為查詢條件準則的一個部分,比如,要根據產品的類別來列出產品清單(例一),則在查詢的設計視圖中,將字段列表中的[類別ID]字段拖到查詢設計網格。然后在其下的“條件”單元格中,鍵入[a_類別],即建立了名為“a-類別”的參數,保存命名為[按類別查詢產品]。

特別注意的是,必須在用[]界定參數名,ACCESS的查詢中,用[]來界定對象名,主要是表、查詢、字段、參數等,如果在[]中的標識符不是表、查詢、字段或其他對象的名稱,則ACCESS將它視作參數。

當我們運行查詢的時候,系統彈出參數輸入對話框,在輸入框中輸入實際參數值后,Access繼續處理查詢,然后在數據表中顯示查詢結果。

1.2參數對話框的使用

參數對話框有兩個主要的作用,一是指定參數的數據類型;二是指定運行時參數的輸入順序。

必須要指定參數的數據類型的兩種情況是:(1)參數用于交叉表查詢;(2)參數的數據類型為邏輯值(是/否)。在交叉表查詢中,如果未在參數對話框中指定參數的數據類型,查詢運行時將會報錯而不能進行,這是由于iet引擎要求TRANSFORM查詢中的變量必須有確定的數據類型。

查詢參數中有邏輯值(是/否)時,如果不在查詢窗口中規定參數為邏輯型(是/否),則系統會把表示邏輯值的數值當成普通的數值,換而言之,只有輸入-1/0時才能夠和表中的值相匹配。如果在查詢窗口中規定參數為邏輯型,那么輸入非(4)、yes/no、true/false均能夠和表中的值準確匹配。所以在這種情況下,也應在查詢參數對話框中作明確的規定,以避免使用時的混亂。

查詢窗口的另外一個作用是,當有多個參數時,可以規定參數的輸入順序,在默認情況下,各參數的輸入順序是依其在查詢設計網格中出現的位置來決定的,我們可以在查詢參數設置對話框中輸入相關的參數,強制性的規定各參數的輸入順序。

1.3自定義有提示信息的參數輸入窗口

在ACCESS的查詢設計器中,參數不僅可以是一個普通的變量,還可以是窗體、報表等容器中所包含的控件。利用這一特性,我們可以把帶參數的查詢和窗體、報表等結合起來,設計出有自定義提示信息的,或不同輸入風格的參數輸入窗口。如按類別查詢產品時,可以先創建一個命名為“類別查詢”的窗體,在該窗體中,創建一個命名為[類別1的組合框,用于輸入參數,然后,在查詢設計器中建立相應的查詢,在[類別id]的條件單元格中輸入“[Forms]![類別查詢]![類別]”,這樣,就可以把自定義窗體和查詢聯結起來,獲得更個性化和高效的輸入界面。

2用ADO訪問帶參數的查詢

2.1利用Parameters集合攜帶參數

在ADO中,可以用多種方法來查詢數據庫,如果要使用查詢參數時,則必須使用Command對象。

使用Command對象通常用CommandText(屬性定義命令)的可執行文本(例如SQL語句)。如果要運行一個查詢,將CommandText屬性的值設置為該查詢的名稱即可,然后,在適當時候,用Execute方法執行命令,并返回Recordset對象,但如果要運行一個帶有參數的查詢,常規的方法是,利用Parameter對象和Parameters集合。

Command對象包含一個由Parameter對象組成的Pa-rameters集合。我們正是通過它們來傳遞參數的。其使用的過程是,使用CreateParameter方法創建帶適當屬性設置的Parameter對象,并使用Append方法將它們添加到Pa-rameters集合中,之后再使用Execute方法即可。

在創建Parameter對象時,使用CreateParameter方法,其完整形式為:command,CreateParameter(Name,Type,Direction,Size,Value)

Name為包含Parameter對象的名稱,Type指定Pa-rameter對象的數據類型。Direction指定Parameter對象的類型,即該參數是輸入參數還是輸出參數等,由于AC-CESS只支持輸入參數,因此該參數一般是adParamlnput。Size指定參數值的最大長度(以字符或字節為單位)。Value指定Parameter對象的值。這些參數均為可選參數,也可以通過對象的相關屬性的設置來達到同樣的目的。在將Pa-rameter添加到Parameters集合之前,應規定Parameter的數據類型。訪問1.1中例1的[按類別查詢產品]的代碼如下:

2.2視查詢為存儲過程

我們可以把查詢都當作是對SQL語句的封裝和優化,在這點上與存儲過程有些接近。可以在ACCESS中把查詢視為存儲過程。這樣,當我們用ADO訪問ACCESS中的查詢時就可采用另外一種方式,即調用存儲過程的方式,調用存儲過程也使用Command對象,但在參數的使用上,卻采用了不同的方式,即直接通過Execute傳遞參數。

在ADO中以調用存儲過程的方式訪問例1中的[按類別查詢產品]的代碼如下:

其中第二個參數為傳遞給存儲過程的參數,注意,需要把存儲過程的參數數組化后才能作為Execute的參數。

比較兩段代碼,可以得到這樣一個結論,如果查詢帶有參數,既可用Command對象的Parameters的當前值作為參數,也可以在Execute方法中調用傳遞的參數,對于性能不太敏感的應用而言,這兩種方式是沒有多大差別的,對于要求較高的性能,則需考慮采用何種方式,因為Command對象有一個CommandType屬性,該屬性指定系統按何種方式處理Commandtext,比如是按查詢表的方式(adCmdTable),還是按存儲過程的方式(adCmdStoredProe)。對不同的方式系統可以按其特性進行優化處理。而在以上兩段代碼中使用Command對象時,均未對Command對象的Command-Type屬性作設置,此時取默認值adCmdUnknown表示類型未知,系統性能將會降低,因為ADO必須耗費代價來確定CommandText屬性是SQL語句、存儲過程還是表名。如果知道正在使用的命令的類型,設置CommandType屬性可以提示ADO直接轉入相關代碼,所以,使用的查詢是類似于SOL查詢的返回,則應設置CommandType為ad-CmdTable,而其他無返回的的查詢則建議使用adCmd-StoredProc,一旦明確了CommandType,那么調用方式就不可混淆,這樣可以提高執行效率。問時我們也可以考慮到應用在ACCESS和SQL SERVER之間平滑遷移時的需要,來選擇策略。

猜你喜歡
方法
中醫特有的急救方法
中老年保健(2021年9期)2021-08-24 03:52:04
高中數學教學改革的方法
河北畫報(2021年2期)2021-05-25 02:07:46
化學反應多變幻 “虛擬”方法幫大忙
變快的方法
兒童繪本(2020年5期)2020-04-07 17:46:30
學習方法
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
最有效的簡單方法
山東青年(2016年1期)2016-02-28 14:25:23
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 欧美中文字幕在线视频| 午夜精品久久久久久久无码软件 | 亚洲VA中文字幕| 一本色道久久88综合日韩精品| 国产一区免费在线观看| 亚洲一区国色天香| 好紧好深好大乳无码中文字幕| 精品無碼一區在線觀看 | 亚洲国产精品无码久久一线| 免费又黄又爽又猛大片午夜| 国产在线观看第二页| 国产精品va| 中文字幕日韩久久综合影院| 精品91自产拍在线| 日本黄色不卡视频| 成人一区专区在线观看| 91在线播放免费不卡无毒| 国产精品亚洲精品爽爽| 日韩无码白| 日韩小视频网站hq| 91精品国产自产91精品资源| 丝袜高跟美脚国产1区| 国产成人乱码一区二区三区在线| 亚洲国产第一区二区香蕉| 亚洲无码高清一区二区| 三级国产在线观看| 91精品国产麻豆国产自产在线| 夜夜操国产| 在线观看国产精品第一区免费| 国产成人av大片在线播放| 国产精品无码一二三视频| 毛片大全免费观看| 亚洲无码四虎黄色网站| 极品av一区二区| 国产真实乱子伦精品视手机观看 | 国产极品美女在线播放| 国产精品55夜色66夜色| 成人午夜免费观看| 国产91线观看| 国产精品白浆无码流出在线看| 亚洲无码一区在线观看| 国产乱视频网站| 日本草草视频在线观看| 亚洲精品大秀视频| 91亚洲精品国产自在现线| 97国产在线视频| 国产免费观看av大片的网站| 国产成+人+综合+亚洲欧美| 香蕉视频在线观看www| 国产免费a级片| 久久亚洲AⅤ无码精品午夜麻豆| 精品剧情v国产在线观看| 一级毛片在线直接观看| 日韩第九页| 中文字幕久久亚洲一区| 久久夜色撩人精品国产| 亚洲三级片在线看| 亚洲国产日韩在线观看| 久久精品女人天堂aaa| 久久精品国产精品青草app| 免费一级毛片在线观看| 蝴蝶伊人久久中文娱乐网| 欧美日韩中文字幕在线| 中文字幕2区| 色综合久久无码网| www.亚洲一区二区三区| 国产成年无码AⅤ片在线| 国产黄色视频综合| 国产激情无码一区二区三区免费| 丝袜久久剧情精品国产| 久久久久亚洲精品成人网| 无码中字出轨中文人妻中文中| 精品久久777| 国产一区二区三区在线精品专区| 亚洲国产精品VA在线看黑人| 秘书高跟黑色丝袜国产91在线| 国产三级视频网站| 国产无码网站在线观看| 亚洲香蕉在线| 精品欧美日韩国产日漫一区不卡| 欧美色综合网站| 亚洲成人网在线播放|