相关疑难解决方法(0)

在SELECT IN中使用Oracle参数的问题

在sql查询中插入一串数字时遇到问题

  SELECT * 
    FROM tablename a 
   WHERE a.flokkurid IN (3857,3858,3863,3285) 
ORDER BY sjodategund, rodun 
Run Code Online (Sandbox Code Playgroud)

...要么:

  SELECT * 
    FROM tablename a 
   WHERE a.flokkurid IN (:strManyNumbers) 
ORDER BY sjodategund, rodun 
Run Code Online (Sandbox Code Playgroud)

...使用此代码:

using (OracleCommand sel = new OracleCommand(SQL, connectionstring)) {
  sel.Parameters.Add(":strManyNumbers", 
                      OracleDbType.Varchar2, 
                      "Client",
                      ParameterDirection.Input);
}
Run Code Online (Sandbox Code Playgroud)

所以,如果我运行此查询,我得到:

ORA-01722:无效的号码

但如果我只插入一个数字,即"3857",它将返回查询确定数据.

c# sql oracle parameters ora-01722

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×1

ora-01722 ×1

oracle ×1

parameters ×1

sql ×1