首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CFQL /存储过程方法中的数组参数

CFQL /存储过程方法中的数组参数
EN

Stack Overflow用户
提问于 2016-03-08 09:55:34
回答 1查看 103关注 0票数 1

是否可以将参数数组传递给通过CFQL生成的存储过程?

我们从设计器生成方法,没有任何问题。但是我还没有找到在Server上执行它的任何方法。

当试图通过代码执行时,如果出现给定的错误,代码将失败:

操作数类型冲突:表类型与int不兼容

在生成的行上:

代码语言:javascript
运行
复制
System.Data.IDataReader reader = CodeFluentContext.Get(XYZ.Constants.XYZCodeFluentStoreName).Persistence.ExecuteReader();

CFQL机构如下:

代码语言:javascript
运行
复制
LOAD (enumABCGroup[] groups) WHERE ABC.Group IN (@groups) ORDER BY NumberExt

生成的过程是:

代码语言:javascript
运行
复制
CREATE PROCEDURE [XYZ].[ABC_LoadByGroups]
(
   @groups [int],
   @_orderBy0 [nvarchar] (64) = NULL,
   @_orderByDirection0 [bit] = 0
)
AS
    SET NOCOUNT ON
    SELECT DISTINCT ... 
    FROM [XYZ].[ABC]
    WHERE [XYZ].[ABC].[ABC_Group] IN (@groups)
    ORDER BY [XYZ].[ABC].[ABC_Group] ASC, [XYZ].[ABC].[ABC_Label] ASC

    RETURN
GO

底层数据库系统是SQL Server 2012 (v11.0.5058.0)。

感谢您的帮助;

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-08 10:54:05

我认为您忘记将Server生成器配置为至少针对Server 2008:

或者在XML中:

代码语言:javascript
运行
复制
<cf:producer name="SQL Server" typeName="CodeFluent.Producers.SqlServer.SqlServerProducer, CodeFluent.Producers.SqlServer">
  <cf:configuration targetVersion="Sql2008" />
</cf:producer>

下面是一些关于CodeFluent实体和TVP的有用资源:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35864156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档