-1

我想创建一个可以从允许传入参数的 .NET 应用程序调用的查询。参数是一个简单的整数,它将确定要运行的语句。所以我希望查询看起来像......

CASE
    WHEN myParam = 0 THEN
        SELECT blah FROM blah;
    ELSE
        SELECT blah FROM blah;
END

我对 Access 不太熟悉,与 SQL Server 相比,我发现它很痛苦……我希望这是可能的,在此先感谢。

4

2 回答 2

0

在单个查询里面,我相信是不可能实现的工作。您可以尝试以下方法之一:

  • 为您想要的每个查询编写一个查询。之后,在 .NET 应用程序中,根据原始 myParam 决定调用哪个查询;
  • 在 VBA 内部编写一个函数,并根据传递给函数的 de myParam 构造一个动态查询;查询写入临时表,.NET 应用程序首先需要执行该函数,然后查询临时表。

我希望这会有所帮助。

此致,

mpt

于 2014-11-17T16:28:01.747 回答
-1

这可以做到

您可以加入字符串您的查询以满足条件

strQuery ="CASE
                WHEN " + myParam + " = 0 THEN
                   SELECT blah FROM blah;
                ELSE
                   SELECT blah FROM blah;
           END"

在运行时,将评估表达式,例如:如果我将 myParam 作为 0 传递,它将执行为

CASE
    WHEN 0 = 0 THEN
        SELECT blah FROM blah;
    ELSE
        SELECT blah FROM blah;
END
于 2013-02-11T17:43:01.753 回答