如何将参数传递给 IN 运算符?
我正在尝试为命名查询(本机 SQL)传递一个长数组以在 IN 语句中使用: 像这样:
(...) WHERE Identificator IN (:pIdes)
我尝试将我的 ides 作为 long[]:
ctx.GetNamedQuery("NamedQueryName")
.SetParameter<long[]>("pIdes", Identificators)
.List<EmpreendimentoInputReport>();
和字符串
ctx.GetNamedQuery("NamedQueryName")
.SetParameter<string>("pIdes", Identificators)
.List<EmpreendimentoInputReport>();
传递当参数是字符串时不返回任何内容,whem 是 long[] 返回此 Oracle 错误:
“Oracle.DataAccess.Client.OracleException: ORA-00932: 提示不一致: esperava NUMBER obteve BINARY"
I'm Trying, pass a long array for a named query (native SQL) for to use in an IN STATEMENT:
Like this:
(...)
WHERE Identificator IN (:pIdes)
I tried pass my ides as long[]:
ctx.GetNamedQuery("NamedQueryName")
.SetParameter<long[]>("pIdes", Identificators)
.List<EmpreendimentoInputReport>();
and as a string
ctx.GetNamedQuery("NamedQueryName")
.SetParameter<string>("pIdes", Identificators)
.List<EmpreendimentoInputReport>();
When the parameter is a string return nothing, whem is a long[] return this Oracle error:
"Oracle.DataAccess.Client.OracleException: ORA-00932: tipos de dados inconsistentes: esperava NUMBER obteve BINARY"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用
SetParameterList
而不是SetParameter
。Use
SetParameterList
instead ofSetParameter
.