数据库组件 Hxj.Data (十) (输出组件执行的sql)
前面有TX留言问分页的sql是怎么样的,看完这篇你也就知道了。 组件可以输出执行的sql,方便查看sql生成的语句是否有问题。 通过注册事件来输出sql DbSession.Default.RegisterSqlLogger(database_OnLog);
private string sql;
void database_OnLog(string logMsg)
{
//保存执行的DbCommand (sql语句和参数)
sql += "
" + logMsg;
}
然后通过执行
DbSession.Default.UnregisterSqlLogger(database_OnLog);
来注销注册的事件。
这里是例子是asp.net
DbSession.Default.from()
.InnerJoin(Suppliers._.SupplierID == Products._.SupplierID)
.Page(10, 2)
.Select(Products._.ProductID, Products._.ProductName)
.ToDataTable();
执行上面的语句输出的sql语句如下:
SELECT * from
( SELECT TOP 10 * from
( SELECT TOP 20 [Products].[ProductID],[Products].[ProductName]
from [Products]
INNER JOIN [Suppliers]
ON ([Suppliers].[SupplierID] = [Products].[SupplierID])
ORDER BY [Products].[ProductID] ASC) AS tempIntable
ORDER BY [ProductID] DESC) AS tempOuttable
ORDER BY [ProductID] ASC
再来一个
DbSession.Default.from().Where(Products._.CategoryID == 2).ToFirst();
生成的sql语句如下
Text:
SELECT TOP 1 * from [Products] WHERE [Products].[CategoryID] = @ae2b9c6a112545e5b56fa6dc70f32ac1 Parameters:
@ae2b9c6a112545e5b56fa6dc70f32ac1[Int32] = 2
这下组件生成的sql语句可以一目了然了,sql语句的输出也大大方便了调试。
下一节将讲述WhereClip(条件)的生成。
相关文档:
公告:本博客为微软云计算中文博客的镜像博客,并不保证链接可用性,为了保证阅读体验,请访问http://blogs.msdn.com/azchina。
SQL Azure是一个部署在云端的关系型数据库引擎,它支持SQL Server中绝大多数和开发有关的功能。作为一个部署在云端的数据库引擎,绝大多数的管理工作都由微软为你完成,因此 ......
公告:本博客为微软云计算中文博客的镜像博客,并不保证链接可用性,为了保证阅读体验,请访问http://blogs.msdn.com/azchina。
October CTP的 SQL Azure Database的关键公告是什么?
October CTP的SQL Azure database对于PDC2009来说基本功能已经完成了。 October CTP&nbs ......
一。SQL Server 的三种自定义函数
“自定义函数”是我们平常的说法,而“用户定义的函数”是 SQL Server 中书面的说法。
SQL Server 2000 允许用户创建自定义函数,自定义函数可以有返回值。
自定义函数分为:标量值函数或表值函数
如果 RETURNS 子句指定一种标量数据类型,则函数为标量值函数。可 ......
weblogic8.1没有带SQL Server 2005的JDBC驱动,需要去微软网站下载。
地址:http://msdn.microsoft.com/vstudio/express/sql/download/
启动 SQL Server Configuration manager,展开SQL Server 2005
网络配置,单击“MSSQLSERVER的协议&rdqu ......
java 连接 sql 2005 的方法:
1。到微软官方网站下载2005的jdbc并解压,获得文件sqljdbc.jar
2。复制文件sqljdbc.jar到jdk目录\jdk1.5\jre\lib\ext下。
3。开始-〉程序-〉sql server 2005-〉配置工具-〉SQL Server Configuration Manager。启动sql 2005服务。
点击 sql server2005网络配置节点,并选中&rd ......