資料庫組件 Hxj.Data (十二) (模糊查詢、簡單的in,not in查詢)

條件的產生都是通過對錶中欄位進行的。比如:Products._.UnitPrice > 1Products._.CategoryID == 2這些是簡單的比較。 下面來介紹通過like 模糊查詢該怎麼做。先上代碼,Products._.ProductName.Contain("apple")這句等效sql就是(sqlserver)   productname like

資料庫組件 Hxj.Data (二十九)(DbSession的推薦寫法)

在系列文章中的樣本都是DbSession.Default做為操作資料的入口。Default是讀取config檔案中connectionStrings節點的最後一個節點的配置。在實際項目中還是推薦建立一個DbSession。可以如下寫法:public class Db{ public readonly static DbSession Northwind = new DbSession("NorthwindConnectionString"); static Db() {

資料庫組件 Hxj.Data (六)(刪除操作篇)

上節講述資料庫更新操作,本節將講述刪除操作。 上代碼://刪除 條件 ProductID=2 int returnvalue = DbSession.Default.Delete<Products>(Products._.ProductID == 2);Delete很簡單,只要加了條件就可以了。 與之等效的還有如下操作: int returnvalue = DbSession.Default.Delete<Products>(2); 這裡的參數  “2” 等效於

資料庫組件 Hxj.Data (十八) (批處理)

批處理就是提交的指令碼不是馬上執行,而是到一定數量才提交。還是先上例子using (DbBatch batch = DbSession.Default.BeginBatchConnection()){ batch.Update<Products>(Products._.ProductName, "apple", Products._.ProductID == 1); batch.Update<Products>(Products._.ProductName,

資料庫組件 Hxj.Data (十一) (where條件)

在前幾節的例子中都產生where之後的條件,例如:Products._.CategoryID == 2代碼中這些就是產生條件,對應sql就是 categoryid=2 歸根到底這句代碼返回回來的是一個WhereClip. WhereClip where = WhereClip.All;這個是一個空值,也就是無條件。不會產生where條件。 條件的組合 兩個條件同時成立:Products._.UnitPrice > 1 && Products._.CategoryID ==

資料庫組件 Hxj.Data (十七) (事務)

首先對事務進行了升級,所以又要重新去下載一下新版本。 組件提供了簡單的事務,並沒有過多的封裝。先上個例子:using (DbTrans trans = DbSession.Default.BeginTransaction()){ DbSession.Default.Update<Products>(Products._.ProductName, "apple", Products._.ProductID == 1, trans);

資料庫組件 Hxj.Data (四)(添加操作篇)

上一節講述如何使用查詢。這節將講添加資料操作即Insert<T>方法的使用.先上例子(使用asp.net)這個是頁面html代碼:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html

資料庫組件 Hxj.Data (二十三) (自訂緩衝)

配置的緩衝並不能滿足我們的需求,例如有時候需要重新整理緩衝,或者某次查詢快取時間或者緩衝依賴不一樣等。 重新整理緩衝例如:DbSession.Default.From<Products>().Where(Products._.ProductID ==

資料庫組件 Hxj.Data (十) (輸出組件執行的sql)

前面有TX留言問分頁的sql是怎麼樣的,看完這篇你也就知道了。組件可以輸出執行的sql,方便查看sql產生的語句是否有問題。 通過註冊事件來輸出sqlDbSession.Default.RegisterSqlLogger(database_OnLog); private string sql;void database_OnLog(string logMsg){//儲存執行的DbCommand (sql語句和參數) sql += "<br />" +

資料庫組件 Hxj.Data (十六) (查詢的欄位)

在查詢沒有設定查詢欄位,組件預設是返回所有欄位資訊,即select * from table那在查詢中如何設定需要返回的欄位資訊呢? 在之前幾節中的例子已經存在設定查詢欄位,是通過 select方法來設定的。先上例子:DbSession.Default.From<Products>() .Select(Products._.ProductID, Products._.ProductName)

資料庫組件 Hxj.Data (二十二) (緩衝)

首先我是做web開發的,所以很多會偏向web的,組件使用的緩衝是System.Web.HttpRuntime.Cache。 組件在預設情況下是關閉緩衝的。所以要開啟緩衝查詢要做一下配置。先看一下例子配置:<configSections> <section name="HxjCacheConfig" type="Hxj.Data.CacheConfiguration,Hxj.Data"/>

HttpModule實現系統IP存取控制

最近項目中的一個政務系統要求可配置的IP存取控制,既然有這個需求我們自然要滿足啦。對於之前一篇中使用IHttpHandlerFactory驗證使用者經驗,這次使用HttpModule來更早的檢測使用者。如何來更好的判斷IP是否在允許的列表或者禁止的列表,基於目前IPV4,就乾脆IP的4位欄位分別判斷,這樣也可簡單的批量IP網段設定。系統中將配置儲存到資料庫中,資料庫設計如下: 接下來就可編寫Httpmodule了,如下: public class IPHttpModule :

資料庫組件 Hxj.Data (十五) (查詢的排序、分組)

本節將講述查詢的排序(order by) 和 分組(group by)。 先說排序在分頁中如果沒有指定排序,組件會預設一個排序來實現分頁。例如DbSession.Default.From<Products>() .Page(10, 2) .Where(Products._.CategoryID.SelectIn(1, 2, 3)) .ToList();產生的sql如下:Text: SELECT

資料庫組件 Hxj.Data (二十一) (ToScalar)

經過周末的通宵,發布了組件1.0版本。對組件進行了擴充,最大的修改就是增加緩衝查詢,以獲得更好的效能。 本節先講一些小的擴充修改。 之前版本ToScalar()只是返回object。現在增加了ToScalar<TResult>()方法,組件自動轉換類型。例如:DbSession.Default.From<Products>().Select(Products._.ProductID).Top(1).ToScalar<int>();這樣就傳回型別為int類型,免

資料庫組件 Hxj.Data (九) (DbSession的其他介紹)

本節將講述DbSession的其他簡單輔助方法。SUM方法DbSession.Default.Sum<Products>(Products._.UnitPrice, Products._.CategoryID == 2); 返回categroyid=2的unitprice合計。  AVG方法DbSession.Default.Avg<Products>(Products._.UnitPrice, Products._.CategoryID ==

資料庫組件 Hxj.Data (八)(預存程序篇)

上一節講述的sql語句的執行,本節將講述的是預存程序的執行。執行預存程序是通過FromProc方法來完成的。執行無參數預存程序如下:DbSession.Default.FromProc("Ten Most Expensive Products").ToDataTable();"Ten Most Expensive Products"就是預存程序名稱。 執行帶參數的預存程序:DbSession.Default.FromProc("Sales by Year")

資料庫組件 Hxj.Data (十四) (聯集查詢)

聯集查詢在前面的例子中已經出現過,只不過沒有細說。先來個例子吧DbSession.Default.From<Customers>() .InnerJoin<Orders>(Customers._.CustomerID == Orders._.CustomerID) .ToDataTable();產生的sqlText: SELECT * FROM [Customers] INNER JOIN [Orders]

Math.Round 之關於 不同的四捨五入

之前有一直被誤導,以為就是簡單的四捨五入。寫這篇文章之前也是搜尋一下,部落格園中也是很多寫過關於的文章。本以為是很簡單的就過去了,卻發現了一個很不同現象。下面等我慢慢道來。Math.Round有好多個重載,如下: [MethodImplAttribute(MethodImplOptions.InternalCall)]public static extern double Round(double a); public static double Round(double value, int

資料庫組件 Hxj.Data (十三) (子查詢)

查詢條件的值來自另外一次查詢。例如  sqlserver sql:   select * from products where categoryid=(select top 1 categoryid from categories where categoryname=’produce’)這條sql的實現代碼如下:DbSession.Default.From<Products>() .Where(Products._.CategoryID

資料庫組件 Hxj.Data(七) (sql篇)

上一節講述的是刪除操作,本節將講述如何直接執行sql語句。直接執行sql語句是使用FromSql方法。DbSession.Default.FromSql("select * from products").ToDataTable(); 這樣看起來親切多了吧,直接sql就可以執行。 當然也可添加參數的啊。DbSession.Default.FromSql("select * from products where productid=pid").AddInParameter("pid",

總頁數: 61357 1 .... 10654 10655 10656 10657 10658 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.