数据库组件 Hxj.Data (十六) (查询的字段)

在查询没有设置查询字段,组件默认是返回所有字段信息,即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) 截取相应的范围内的字段内容
时间: 2024-11-01 15:37:11

数据库组件 Hxj.Data (十六) (查询的字段)的相关文章

数据库组件 Hxj.Data (六)(删除操作篇)

上节讲述数据库更新操作,本节将讲述删除操作. 上代码: //删除 条件 ProductID=2 int returnvalue = DbSession.Default.Delete<Products>(Products._.ProductID == 2); Delete很简单,只要加了条件就可以了. 与之等效的还有如下操作: int returnvalue = DbSession.Default.Delete<Products>(2); 这里的参数 "2" 等效

数据库组件 Hxj.Data (二十八)

数据库组件 Hxj.Data (二十八)(事务中的查询,查询字段字中的子查询,WhereClip的隐式转换) 本节讲述新版本中新加的功能,以及如何使用. 事务中的查询 应用场景,有时我们需要事务更新.添加.删除表的操作,在提交事务又需要对这些进行查询(不想 降低事务级别让其他连接查询事务中的数据变动),在事务内部进行的查询. 其实只是在DbTrans中增加了FromSection方法. 示例代码如下: using (DbTrans trans = DbSession.Default.BeginT

数据库组件 Hxj.Data (二十六)(Oracle配置)

Oracle配置在connectionStrings节点的providerName为System.Data.OracleClient或者 Hxj.Data.Oracle之外,其他操作使用并没有什么不同. 不过相对于Oracle的自增长列有所不同,要做适当的处理. Oracle是通过Sequence来获取增长的值,不同于Sql Server可以方便的设置列的自增长. 在这里通过修改生成的实体就可以完成自增长列的设置. 例如: 建了一个Sequence,名为:mysequence 表中需要自增的字段

数据库组件 Hxj.Data (二十五)(数据库连接配置

本节补充讲述connectionStrings的设置. 组件读取connectionStrings节点的配置的时候会根据providerName来判断是哪个数据库. 数据库 providerName Sql server 2000 1.System.Data.SqlClient 2.Hxj.Data.SqlServer Sql server 2005 Hxj.Data.SqlServer9 MS Access Hxj.Data.MsAccess Sqlite 1.System.Data.SQLi

数据库组件 Hxj.Data (二十四)(Sqlite数据库)

Hxj.Data(V1.3)组件增加了对Sqlite数据库的支持. 以及实体生成工具也同时发布(V1.3)版本支持Sqlite数据库的实体生成. 使用Sqlite数据库开发,需要引用Hxj.Data.Hxj.Data.Sqlite.System.Data.SQLite这三个DLL. config配置数据库连接例如: <add name="SqliteConnectionString" connectionString="Data Source=C:\sqldb.db&q

数据库组件 Hxj.Data (二十二) (缓存)

首先我是做web开发的,所以很多会偏向web的,组件使用的缓存是System.Web.HttpRuntime.Cache. 组件在默认情况下是关闭缓存的. 所以要开启缓存查询要做一下配置. 先看一下例子配置: <configSections> <section name="HxjCacheConfig" type="Hxj.Data.CacheConfiguration,Hxj.Data"/> </configSections>

数据库组件 Hxj.Data (三)(查询操作篇)

Hxj.Data使用入口在Hxj.Data.DbSession,DbSession类封装常用的操作,比如: From<T>,Insert<T>,Update<T>,Delete<T>等常用方法. DbSession.Default是一个默认的DbSession.在默认情况下会自动读取web.config/app.config配置文件中connectionStrings节点的最后一 个配置. 可以通过条用DbSession的SetDefault方法来修改这个D

数据库组件 Hxj.Data (三十一)(MySQL篇)

组件V1.7版本增加对MySQL的支持(测试了MySQL 5.1版本). 下面来演示如何使用. 首先添加Connectionstring <add name="MySQLConnectionString" connectionString="server=192.168.1.175;user id=root; password=huxj; Port=3306;database=test;" providerName="Hxj.Data.MySql&q

数据库组件 Hxj.Data (一)(介绍篇)

Hxj.Data经过几个月的开发,终于发布了一个版本,并同时发布实体生成工具.在开发过程参考了多个ORM框架,特别是NBear,MySoft等. 吸取了他们的一些精华,加入自己的新思想. 目前支持Sql2000\2005,MsAccess,Oracle三个数据库,如有需要可再扩展. 数据库实体生成的代码Northwind数据库中Products表: //------------------------------------------------------------------------

数据库组件 Hxj.Data (二十七)(字段组合更新)

Hxj.Data V1.5.1版本开始支持字段组合更新. 例如:update table set a=b+c update table set a=a+1 (+.-.*./.%)依次类推. 下面将举具体的例子.(例子只是为了测试效果,没有实际意义) 例一. DbSession.Default.Update<Products>(Products._.UnitPrice, Products._.ReorderLevel + Products._.UnitPrice, Products._.Prod