我開始重構我的代碼,以在我的asp.net應用程序中使用「最佳」實踐。For循環中的SQL參數?
我正在做的一個重要的重構是改變我在我的應用程序上使用SQL(ado.net)的方式。我已經更改了所有查詢,我根據用戶輸入檢索信息,這些查詢通過存儲過程來完成,並通過採用輸入參數來減少應用程序的負載並將數據庫項目保留在數據庫級別。我也在改變一個插入語句,我允許用戶在數據庫上使用Paramaters,而不是直接從字符串列表中取出。
但是,我發現自己現在總共重複我的代碼23次。我的代碼尖叫某種循環,但我想不出如何去做。我看過foreach循環,但它不起作用。
我附上了我的代碼。你們能幫助我嗎?給我一個正確的循環,以便使用最佳實踐並使用它的一個例子(請不要爲我編寫代碼,因爲我想了解它),但請告訴我循環是如何工作的。
代碼:
com.Parameters.AddWithValue("@H0", list[0]);
com.Parameters.AddWithValue("@H1", list[1]);
com.Parameters.AddWithValue("@H2", list[2]);
com.Parameters.AddWithValue("@H3", list[3]);
com.Parameters.AddWithValue("@H4", list[4]);
com.Parameters.AddWithValue("@H5", list[5]);
com.Parameters.AddWithValue("@H6", list[6]);
com.Parameters.AddWithValue("@H7", list[7]);
com.Parameters.AddWithValue("@H8", list[8]);
com.Parameters.AddWithValue("@H9", list[9]);
com.Parameters.AddWithValue("@H10", list[10]);
com.Parameters.AddWithValue("@H11", list[11]);
com.Parameters.AddWithValue("@H12", list[12]);
com.Parameters.AddWithValue("@H13", list[13]);
com.Parameters.AddWithValue("@H14", list[14]);
com.Parameters.AddWithValue("@H15", list[15]);
com.Parameters.AddWithValue("@H16", list[16]);
com.Parameters.AddWithValue("@H17", list[17]);
com.Parameters.AddWithValue("@H18", list[18]);
com.Parameters.AddWithValue("@H19", list[19]);
com.Parameters.AddWithValue("@H20", list[20]);
com.Parameters.AddWithValue("@H21", list[21]);
com.Parameters.AddWithValue("@H22", list[22]);
com.Parameters.AddWithValue("@H23", list[23]);
你可能想看看[表值paramters(https://msdn.microsoft.com/en-us/library/bb510489.aspx),允許你通過一個數據列表到存儲過程。 – juharr