2013-08-30 50 views
-2

我有下面的代碼,我想知道是否有人知道處理這個問題的正確方法。DataReader from objComm.ExecuteReader

SqlConnection objConn = new SqlConnection(ConfigurationManager.ConnectionStrings["someConnectionString"].ConnectionString); 
SqlCommand objComm = new SqlCommand("usp_someStoredProcedure", objConn); 
objComm.CommandType = CommandType.StoredProcedure; 
objComm.Parameters.AddWithValue("@Variable1", VOne); 
objComm.Parameters.AddWithValue("@Variable2", VTwo); 

objConn.Open(); 
using (IDataReader dr = objComm.ExecuteReader(CommandBehavior.CloseConnection)) 
{ 
    //do stuff 
} 

現在,讓我們說存儲過程什麼也沒有返回,是否有一個方法來處理?

+0

我編輯了自己的冠軍。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –

+0

當SP沒有返回任何數據時,你的當前代碼沒有問題。 –

+0

「是否有一種方法來處理這個問題」:這取決於,你希望應用程序如何處理它? – iceheaven31

回答

1

通常你必須標有//做的東西會含有

if (dr.Read()) 
{ 
    // do stuff 
} 

while (dr.Read()) 
{ 
    // do stuff 
} 

的.Read()檢查節確保您是否正在返回只作用數據。