2013-10-02 86 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