我試圖讓這個函數中的參數...遞歸函數得到一個參數
public static int subsumer(string id,int acc,SqlConnection connection)
{
acc++;
SqlCommand cercas = new SqlCommand("select * from common_relation where id_source ='" + id + "' AND type='@' ", connection);
SqlDataReader leggsyn = null;
leggsyn = cercas.ExecuteReader();
int f = 0;
while (leggsyn.Read())
{
f= subsumer(leggsyn["id_target"].ToString(),acc,connection);
if (acc <= f)
{
acc = f;
}
}
//siamo arrivati alla fine
return acc-1;
}
每個週期參數acc
將遞增和調試我看到在我的情況下,它達到值3 ,但在最後遞歸我總是0 ...我無法得到它...謝謝大家
你是什麼意思'參數'?此外,爲什麼你使用字符串連接而不是使用正確的參數化查詢?輸入中的一個奇怪的字符會導致問題。更有趣的輸入可能是'1; DROP TABLE COMMON_RELATION;'' – 2015-04-01 14:29:53
你是如何調用函數的?你有沒有在調試器中檢查它,確保你的邏輯是正確的? – 2015-04-01 14:31:16
你的功能假設要做什麼?總數還是最大值? ,因爲我看到你的循環中只有分配 沒有增量 – 2015-04-01 14:43:44