数据库组件 Hxj.Data (十六) (查询的字段)2011-07-21 博客园 steven hu在查询没有设置查询字段,组件默认是返回所有字段信息,即select * from table那在查询中如何设置需要返回的字段信息呢?在之前几节中的例子已经存在设置查询字段,是通过 select方法来设置的。先上例子:
DbSession.Default.From<Products>()
.Select(Products._.ProductID, Products._.ProductName)
.ToDataTable();这里是设置查询只返回productid和productname两个字段。生成的sql:
Text:
SELECT [Products].[ProductID],[Products].[ProductName] FROM [Products]有时候我们需要设置这个字段的别名,如select productname as pname from products别名的设置也是非常简单的。
DbSession.Default.From<Products>()
.Select(Products._.ProductID, Products._.ProductName.As("pname"))
.ToDataTable();通过字段的as方法来设置。生成的sql
Text:
SELECT [Products].[ProductID],[Products].[ProductName] AS [pname] FROM [Products]是不是很简单的啊。其实 Products._.ProductID 是一个Field类,表示字段信息。Field也提供了一些简单的辅助方法。
| 方法 | sql |
| Field.Count() | count 记录数 |
| Field.Sum() | sum 合计 |
| Field.Avg() | avg 平均值 |
| Field.Len() | len 长度 |
| Field.Trim() | 去掉左右空格 |
| Field.Max() | 最大值 |
| Field.Min() | 最小值 |
| Field.Left(int length) | 从左边开始截取相应长度内容 |
| Field.Right(int length) | 从右边开始截取相应长度内容 |
| Field.Substring(int startIndex, int endIndex) | 截取相应的范围内的字段内容 |