ADO.NET函數(shù)大總結(jié)
運(yùn)用函數(shù)使我們的編程更方便,一個(gè)函數(shù)就可以實(shí)現(xiàn)一個(gè)功能,讓我們大大的減少了代碼量,這里我們就簡(jiǎn)單的介紹一下ADO.NET函數(shù)吧。
如果你希望列包含有更復(fù)雜邏輯的表達(dá)式,可以在列中嵌入一些ADO.NET函數(shù)。表達(dá)式能包含Len、Iif、 IsNull、Convert、Trim和Substring等函數(shù)。這些ADO.NET函數(shù)為建立表達(dá)式提供了更大的靈活性。Len函數(shù)計(jì)算字符串的長(zhǎng)度:
- oDs.Tables["OrderDetail"].Columns.Add("LengthOfProductName",
- typeof(int), "Len(ProductName)");
Iif函數(shù)是一個(gè)迭代的If語(yǔ)句,象Visual Basic .NET中的IIf一樣。它有三個(gè)參數(shù)并計(jì)算***個(gè)參數(shù)的真假。如果***個(gè)參數(shù)計(jì)算值為真,將從Iif函數(shù)返回第二個(gè)參數(shù),否則返回第三個(gè)參數(shù)。下面基本上是一個(gè)濃縮的If...Then...Else語(yǔ)句,能簡(jiǎn)單地寫(xiě)成嵌入表達(dá)式:
- oDs.Tables["OrderDetail"].Columns.Add("Inventory", typeof(string),
- "Iif(Quantity < 10,'A few left', 'Plenty in stock')");
IsNull函數(shù)計(jì)算***個(gè)參數(shù),看它是否與System.DbNull相等。如果計(jì)算結(jié)果為假,函數(shù)返回***個(gè)參數(shù)值,如果為真則返回第二個(gè)參數(shù)值。這在不允許空值,并且希望用空字符串或占位符代替時(shí)使用:
- oDs.Tables["OrderDetail"].Columns.Add("DiscountString",
- typeof(string), "IsNull(Discount, '[null value]')");
#T#Trim函數(shù)刪除字符串值尾部的空格。Convert函數(shù)將表達(dá)式中的數(shù)據(jù)類型轉(zhuǎn)換為ADO.NET函數(shù)第二個(gè)參數(shù)所指的數(shù)據(jù)類型。Substring函數(shù)返回字符串的一部分,可用于將長(zhǎng)字符串剪短,只顯示定長(zhǎng)的字符串,它可以返回字符串的任意部分并根據(jù)需要與其它的函數(shù)組合使用oDs.Tables["OrderDetail"].Columns.Add("ShortProduct",typeof(string), "Substring(ProductName, 1, 10)");。