在运行时动态选择一个SQL表值函数?

时间:2011-08-20 21:56:49

标签: c# nhibernate

我将在前面加上我建议我们改为查看某种报告软件,这是在应用程序之外,但是,时间有限,我现在正处于当前状态题。

我正在构建一个函数,并希望使用参数设置。我该如何避免以下情况?

//extremely dangerous
var queryString = "Select * from dbo." + functionName + "(:startDate, :endDate)";
var result = GetANHibernateSession().CreateSQLQuery(queryString)
                 .SetDateTime("startDate", startDate)
                 .SetDateTime("endDate", endDate);

功能可以来和在运行时去,这意味着我无法在编译时构建查询。

编辑:我还应该指出,functionName不是来自不受信任的来源,而是来自数据库本身,没有面向外部的插入机制。这只是一点安全性。

0 个答案:

没有答案