2013-10-02 56 views
0

不工作我试图用结合参数做是为了执行OdbcCommand绑定参数甲骨文

OdbcCommand DbCommand = Conn.CreateCommand(); 
DbCommand.CommandText = "CREATE OR REPLACE VIEW vw_usrs AS (SELECT * FROM TABLE(in_list(?)));"; 
OdbcParameter param = new OdbcParameter(); 
param.Value = Filter.OwnerLogin.ToUpper(); // Working 
DbCommand.Parameters.Add(param); 
DbCommand.ExecuteNonQuery(); 

但由于某些原因,它不断给我ORA-01036: illegal variable name/number错误。如果我避免绑定参数硬编码,像in_list('" + Filter.OwnerLogin.ToUpper() + "')这样的值可以正常工作,但不会以其他方式工作。

有什么想法?

+0

我的Oracle有点生疏..你在调用什么** in_list()**函数?更重要的一点..你希望用这个数据库代码实际上做什么?它看起来很脏每个级别 –

+0

@CaiusJard'in_list()'是我开发的一个函数,没什么好担心的。查询的目的是创建一个视图,以便我可以在'WHERE NS.OWNER_LOGIN_ID IN(SELECT * FROM vw_usrs)'之后执行操作,因为无法使用超过1000个值的'IN',这就是我所拥有的。 – Armaggedon

回答

-2

您必须调用绑定参数列表defluxinator。

+1

对不起,这是什么? – Armaggedon