2012-08-24 28 views
1

我在Oracle 11g數據庫的選擇查詢中使用了OracleCommand.Parameters。 以下語句適用於數字或varchar類型的列。CHAR類型列上的OracleCommand參數

string theQuery = "select * from TABLE where COLUMN = :p1"; 
OracleCommand Cmd = new OracleCommand(theQuery); 
Cmd.Parameters.Add(new OracleParameter("p1", "2183989118")); 
Cmd.Connection = Conn; 
Cmd.CommandType = CommandType.Text; 

的問題是,我真的想對運行類型CHAR(20字節)的列中的語句,當我這樣做,我從來沒有得到一個結果。如果我不使用參數並直接在查詢中添加'2183989118',查詢就可以工作。

我缺少的東西在我的Parameters.Add語句?

+0

你肯定有在列中沒有 「2183989118」 的價值。新的OracleParameter(「p1」,OracleDbType.Char); – iddqd

回答

1

試試這個

Cmd.Parameters.Add("p1", OracleDbType.Char); 
+0

我最終編輯了這樣的參數: Cmd.Parameters.Add(「p1」,OracleDbType.Char).Value =「2183989118」; 工作很好,謝謝! – Henkealg

相關問題