<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    靈魂-放水

    為學(xué)日益,為道日損。

    BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
      296 Posts :: 10 Stories :: 274 Comments :: 0 Trackbacks
    ??在實(shí)際編程工程中,常常遇到這樣的情況:DataTable并不是數(shù)據(jù)庫中的,或者DataTable尚未寫到數(shù)據(jù)庫,或者從數(shù)據(jù)庫中讀出的DataTable已經(jīng)在本地被改動(dòng),又沒有寫回?cái)?shù)據(jù)庫(可能還要作其他改動(dòng)),在這些情況下,要查詢DataTable中的數(shù)據(jù),強(qiáng)大的SQL語言就派不上用場了。
    ???
    ??有些.NET程序員采取在數(shù)據(jù)庫中建立臨時(shí)表等方法來解決這類查詢問題。而我覺得這種方法不可行,其實(shí)只要用.NET類庫中提供的DataView類的強(qiáng)大功能(主要是用它的RowFilter屬性),就能方便地解決這類查詢問題。下面就舉一個(gè)具體的例子,來說明如何不用SQL語句,用DataView的RowFilter屬性來查詢。?
    ????
    ??用DataView的RowFilter屬性完全能達(dá)到SQL語句SELECT語句所實(shí)現(xiàn)的功能
    ???
    ??RowFilter中的查詢語句與SQL語句中SELECT語句的語法和作用都極為相似,以下是摘自MSDN中關(guān)于RowFilter查詢語句的語法說明:
    ???
    ??/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ???
    ??用戶定義的值可以用在將與列值進(jìn)行比較的表達(dá)式內(nèi)。字符串值應(yīng)放在單引號內(nèi)。日期值應(yīng)放在磅符號 (#) 內(nèi)。對于數(shù)值,允許使用小數(shù)和科學(xué)記數(shù)法。例如:?
    ????
    ??"FirstName = 'John'"??
    ???
    ??"Price <= 50.00"????
    ???
    ??"Birthdate < #1/31/82#"????
    ???
    ??對于包含枚舉值的列,將值強(qiáng)制轉(zhuǎn)換為整數(shù)數(shù)據(jù)類型。例如:?
    ???
    ??"EnumColumn = 5"????
    ???
    ??運(yùn)算符????
    ???
    ??使用布爾值 AND、OR 和 NOT 運(yùn)算符時(shí)允許串聯(lián)。可以使用括號來組合子句和強(qiáng)制優(yōu)先級。AND 運(yùn)算符優(yōu)先于其他運(yùn)算符。例如:?
    ???
    ??(LastName = 'Smith' OR LastName = 'Jones') AND FirstName = 'John'????
    ???
    ??在創(chuàng)建比較表達(dá)式時(shí),允許使用下列運(yùn)算符:?
    ???
    ??<?
    ???
    ??>???
    ???
    ??<=????
    ???
    ??>=???
    ???
    ??<>?
    ????
    ??=?
    ?????
    ??IN?
    ?????
    ??LIKE?
    ??????
    ??在表達(dá)式中還支持下列算術(shù)運(yùn)算符:?
    ??????
    ??+(加)?
    ?????
    ??-(減)?
    ??????
    ??*(乘)?
    ??????
    ??/(除)?
    ??????
    ??%(模數(shù))?
    ??????
    ??字符串運(yùn)算符?
    ??????
    ??若要連接字符串,請使用 + 字符。字符串比較是否區(qū)分大小寫由 DataSet 類的 CaseSensitive 屬性的值來確定。但是,可以用 DataTable 類的 CaseSensitive 屬性重寫此值。?
    ?????
    ??通配符?
    ??????
    ??在 LIKE 比較中,* 和 % 兩者可以互換地作為通配符。如果 LIKE 子句中的字符串包含 * 或 %,那么這些字符應(yīng)用中括號([])對其進(jìn)行轉(zhuǎn)義。如果子句中有中括號,那么中括號字符應(yīng)用中括號對其進(jìn)行轉(zhuǎn)義(例如 [[] 或 []])。在模式的開頭和結(jié)尾,或者在模式的結(jié)尾,或在模式的開頭允許使用通配符。例如:?
    ??????
    ??"ItemName LIKE '*product*'"?
    ??????
    ??"ItemName LIKE '*product'"?
    ??????
    ??"ItemName LIKE 'product*'"?
    ??????
    ??在字符串的中間不允許使用通配符。例如,不允許 'te*xt'。?
    ?????
    ??父/子關(guān)系引用?
    ??????
    ??通過在列名稱前面加 Parent,就可以在表達(dá)式中引用父表。例如,Parent.Price 引用父表的名為 Price 的列。?
    ?????
    ??通過在列名稱前面加一個(gè) Child,就可以在表達(dá)式中引用子表中的列。但是,因?yàn)樽雨P(guān)系可以返回多行,所以必須在聚合函數(shù)中包括對子列的引用。例如,Sum(Child.Price) 將返回子表中名為 Price 的列的總和。?
    ??????
    ??如果某個(gè)表有多個(gè)子表,則語法是:Child(RelationName)。例如,如果某個(gè)表有兩個(gè)子表,它們的名稱分別為 Customers 和 Orders,則 DataRelation 對象被命名為 Customers2Orders,引用將為:?
    ??????
    ??Avg(Child(Customers2Orders).Quantity)?
    ??????
    ??聚合?
    ??????
    ??支持下列聚合類型:?
    ??????
    ??Sum(求和)?
    ??????
    ??Avg(平均)?
    ??????
    ??Min(最小值)?
    ??????
    ??Max(最大值)?
    ??????
    ??Count(計(jì)數(shù))?
    ??????
    ??StDev(統(tǒng)計(jì)標(biāo)準(zhǔn)偏差)?
    ??????
    ??Var(統(tǒng)計(jì)方差)。?
    ?????
    ??聚合通常沿著關(guān)系執(zhí)行。通過使用上面列出的函數(shù)之一和上面“父/子關(guān)系引用”中詳述的子表列,來創(chuàng)建聚合表達(dá)式。例如:?
    ?????
    ??Avg(Child.Price)?
    ??????
    ??Avg(Child(Orders2Details).Price)?
    ??????
    ??聚合也可以在單個(gè)表上執(zhí)行。例如,若要為名為“Price”的列中的數(shù)字創(chuàng)建匯總,就用:?
    ??????
    ??Sum(Price)?

    posted on 2007-01-08 16:15 放水老倌 閱讀(501) 評論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫
    主站蜘蛛池模板: 亚洲免费福利视频| 免费一级做a爰片性色毛片| 亚洲一线产品二线产品| 国产一级淫片a免费播放口之| 在线播放免费人成视频网站| 亚洲国产美国国产综合一区二区 | 亚洲欧洲国产综合| 亚洲成a人不卡在线观看| 成人免费无码视频在线网站| 一个人免费观看日本www视频 | 亚洲码和欧洲码一码二码三码| 亚洲成?v人片天堂网无码| 少妇无码一区二区三区免费| 国产亚洲精品AAAA片APP| 免费大黄网站在线观看| 午夜免费福利片观看| 国产成人精品亚洲| 亚洲制服丝袜一区二区三区| 亚洲色婷婷综合开心网| 免费国产作爱视频网站| 羞羞视频免费网站在线看| 亚洲色欲色欱wwW在线| 亚洲国产天堂久久综合网站| heyzo亚洲精品日韩| 最近中文字幕mv免费高清视频7| a级毛片视频免费观看| 国产亚洲精品美女2020久久| 亚洲成AV人综合在线观看| 亚洲一区二区三区香蕉| 日韩视频免费一区二区三区| 中文字幕免费高清视频| 中文字幕免费播放| 精品亚洲视频在线| 波多野结衣亚洲一级| 国产一级做a爱免费视频| 成人免费在线看片| 久久国产乱子伦精品免费不卡 | 男男gay做爽爽免费视频| 亚洲中文字幕无码av在线| 亚洲成A∨人片在线观看不卡 | 亚洲高清在线视频|