蜜桃欧美|戒汤唯未删减版|先锋影音av资源在线观看|国产精品裸体一区二区三区,这么多年电影完整版免费在线观看,卧底2020电视剧免费全集在线观看,美好事物电影完整版在线观看

主營業(yè)務(wù):網(wǎng)站制作 網(wǎng)站優(yōu)化 小程序制作 石家莊網(wǎng)站制作網(wǎng)站建設(shè)有限公司歡迎您!
石家莊閃云網(wǎng)絡(luò)科技有限公司
客服熱線15383239821
如何讓自己的網(wǎng)站更有質(zhì)量?

DataTable的Select方法

發(fā)布時間:2011/2/19 6:31:18

問:

DataRow[]   drArray;

string   strExpr;
string   strSort;


strExpr   =   "Subject   like   % "+tbCondition.Text+ "% ";//這里應(yīng)該如何寫?查了不少貼子都沒有類似這樣的寫法。主要是like

                  strSort   =   "ID   DESC ";
drArray   =   dt.Select(strExpr,strSort,DataViewRowState.CurrentRows);//dt是DataTable的實例,這行執(zhí)行之后,dt原來的數(shù)據(jù)是否已經(jīng)改變。

 

回答:

Expression   屬性的一個用途是創(chuàng)建計算出的列。例如,若要計算稅值,就要將單價乘以給定地區(qū)的稅率。由于各地稅率不同,不可能將單一的稅率放在列中;于是便用   Expression   屬性來計算這個值,如下面的   Visual   Basic   代碼所示:

DataSet1.Tables( "Products ").Columns( "tax ").Expression   =   "UnitPrice   *   0.086 "

第二個用途是創(chuàng)建聚合列。類似于計算出的值,聚合基于   DataTable   中的整個行集執(zhí)行操作。一個簡單的示例是對返回到集中的行數(shù)進行計數(shù),這也就是您可能用來對某個特定銷售人員完成的交易次數(shù)進行計數(shù)的方法,如下面的   Visual   Basic   代碼所示:

DataSet1.Tables( "Orders ").Columns( "OrderCount ").Expression   =   "Count(OrderID) "

表達式語法

在創(chuàng)建表達式時,使用   ColumnName   屬性來引用列。例如,如果一個列的   ColumnName   是“UnitPrice”(單價),而另一個是“Quantity”(數(shù)量),則表達式將是:

"UnitPrice   *   Quantity "

在為篩選器創(chuàng)建表達式時,將字符串放到單引號中:

"LastName   =   Jones "

下面的字符是特殊字符,如下面所解釋的,如果它們用于列名稱中,就必須進行轉(zhuǎn)義:

\n   (newline)

\t   (tab)

\r   (carriage   return)

~

(

)

#

\

/

=

>

<

+

-

*

%

&

|

^

"

[

]

如果列名稱包含上面的字符之一,該名稱必須用中括號括起來。例如,若要在表達式中使用名為“Column#”的列,應(yīng)寫成“[Column#]”:

Total   *   [Column#]

由于中括號是特殊字符,如果它是列名稱的組成部分,必須使用斜杠   ( "\ ")   將中括號轉(zhuǎn)義。例如,名為“Column[]”的列應(yīng)寫成:

Total   *   [Column[\]]

(只有第二個中括號必須轉(zhuǎn)義。)

用戶定義的值

用戶定義的值可以用在將與列值進行比較的表達式內(nèi)。字符串值應(yīng)放在單引號內(nèi)。日期值應(yīng)放在磅符號   (#)   內(nèi)。對于數(shù)值,允許使用小數(shù)和科學(xué)記數(shù)法。例如:

"FirstName   =   John "

"Price   <=   50.00 "

"Birthdate   <   #1/31/82# "

對于包含枚舉值的列,將值強制轉(zhuǎn)換為整數(shù)數(shù)據(jù)類型。例如:

"EnumColumn   =   5 "

運算符

使用布爾值   AND、OR   和   NOT   運算符時允許串聯(lián)??梢允褂美ㄌ杹斫M合子句和強制優(yōu)先級。AND   運算符優(yōu)先于其他運算符。例如:

(LastName   =   Smith    OR   LastName   =   Jones )   AND   FirstName   =   John

在創(chuàng)建比較表達式時,允許使用下列運算符:

<

>

<=

> =

<>

=

IN

LIKE

在表達式中還支持下列算術(shù)運算符:

+(加)

-(減)

*(乘)

/(除)

%(模數(shù))

字符串運算符

若要連接字符串,請使用   +   字符。字符串比較是否區(qū)分大小寫由   DataSet   類的   CaseSensitive   屬性的值來確定。但是,可以用   DataTable   類的   CaseSensitive   屬性重寫此值。

通配符

在   LIKE   比較中,*   和   %   兩者可以互換地作為通配符。如果   LIKE   子句中的字符串包含   *   或   %,那么這些字符應(yīng)用中括號([])對其進行轉(zhuǎn)義。如果子句中有中括號,那么中括號字符應(yīng)用中括號對其進行轉(zhuǎn)義(例如   [[]   或   []])。在模式的開頭和結(jié)尾,或者在模式的結(jié)尾,或在模式的開頭允許使用通配符。例如:

"ItemName   LIKE   *product* "

"ItemName   LIKE   *product "

"ItemName   LIKE   product* "

在字符串的中間不允許使用通配符。例如,不允許   te*xt 。

父/子關(guān)系引用

通過在列名稱前面加   Parent,就可以在表達式中引用父表。例如,Parent.Price   引用父表的名為   Price   的列。

通過在列名稱前面加一個   Child,就可以在表達式中引用子表中的列。但是,因為子關(guān)系可以返回多行,所以必須在聚合函數(shù)中包括對子列的引用。例如,Sum(Child.Price)   將返回子表中名為   Price   的列的總和。

如果某個表有多個子表,則語法是:Child(RelationName)。例如,如果某個表有兩個子表,它們的名稱分別為   Customers   和   Orders,則   DataRelation   對象被命名為   Customers2Orders,引用將為:

Avg(Child(Customers2Orders).Quantity)

聚合

支持下列聚合類型:

Sum(求和)

Avg(平均)

Min(最小值)

Max(最大值)

Count(計數(shù))

StDev(統(tǒng)計標(biāo)準(zhǔn)偏差)

Var(統(tǒng)計方差)。

聚合通常沿著關(guān)系執(zhí)行。通過使用上面列出的函數(shù)之一和上面“父/子關(guān)系引用”中詳述的子表列,來創(chuàng)建聚合表達式。例如:

Avg(Child.Price)

Avg(Child(Orders2Details).Price)

聚合也可以在單個表上執(zhí)行。例如,若要為名為“Price”的列中的數(shù)字創(chuàng)建匯總,就用:

Sum(Price)

注意       如果使用一個表來創(chuàng)建聚合,將沒有組合功能。相反,所有行都在列中顯示相同的值。
如果表沒有行,聚合函數(shù)將返回空引用(Visual   Basic   中為   Nothing)。

數(shù)據(jù)類型總是可以通過檢查列的   DataType   屬性來確定。還可以使用   Convert   函數(shù)來轉(zhuǎn)換數(shù)據(jù)類型,如下所示。

FUNCTIONS 

還支持下列函數(shù):

CONVERT 

描述   將給定表達式轉(zhuǎn)換為指定的   .NET   Framework   類型。 
語法   Convert(expression,   type) 
參數(shù)   expression   —   要轉(zhuǎn)換的表達式。 
type   —   值將轉(zhuǎn)換成的   .NET   Framework   類型。
 

例如:myDataColumn.Expression= "Convert(total,   System.Int32 ) "

所有轉(zhuǎn)換都是有效的,只有下列情況例外:Boolean   只能與   Byte、SByte、Int16、Int32、Int64、UInt16、UInt32、UInt64、String   和它本身相互轉(zhuǎn)換。Char   只能與   Int32、UInt32、String   和它本身相互轉(zhuǎn)換。DateTime   只能與   String   和它本身相互轉(zhuǎn)換。TimeSpan   只能與   String   和它本身相互轉(zhuǎn)換。

LEN 

描述   獲取字符串的長度 
語法   LEN(expression) 
參數(shù)   expression   —   要計算的字符串。 

例如:myDataColumn.Express

相關(guān)新聞推薦

在線客服 : 服務(wù)熱線:15383239821 電子郵箱: 27535611@qq.com

公司地址:石家莊市新華區(qū)九中街江西大廈4062

備案號:冀ICP備2022000585號-4