[英]Query using Oracle Parameter returns no result 11g
使用變量綁定的簡單選擇語句不提供行?
OracleConnection con = new OracleConnection(constr);
con.Open();
OracleCommand cmd = new OracleCommand();
cmd.Connection = con;
cmd.CommandText = "select country_name from hr.countries where country_id = :country_id;
OracleParameter p_country_id = new OracleParameter();
p_country_id.OracleDbType = OracleDbType.Varchar2;
p_country_id.Value = "UK";
cmd.Parameters.Add(p_country_id);
OracleDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{} ---> no rows
嘗試添加parameterName,方向,大小仍然結果為0 ???
有幫助嗎?
我相信這都是正確的,但是它是用NotePad編寫的。 至少它應該使您走上正確的道路。
using (OracleConnection con = new OracleConnection(constr))
{
con.Open();
using (OracleCommand cmd = con.CreateCommand())
{
cmd.CommandText = "select country_name from hr.countries where country_id = :country_id";
cmd.Parameters.Add("country_id", "UK")
OracleDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
// You code here
}
}
}
注意:我把using
語句放在那里,因為在執行數據庫查詢時總是建議這樣做。 如果發生異常,using語句將確保您的數據庫連接仍然關閉。
您忘記給參數命名。 這樣做,它應該可以工作:
p_country_id.ParameterName = "country_id";
感謝您的答復,我的單元測試項目app.config指向錯誤的數據庫模式:(
rr! 不能得到任何愚蠢的東西,然后這:)我會怪我的流感:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.