我有一個示例代碼如何在執行基於C#中的存儲過程的查詢後重新使用CommandText的SqlCommand對象?
aCommand.CommandType = CommandType.StoredProcedure;
aCommand.Parameters.AddWithValue("@book_id", bookID);
aCommand.Parameters.AddWithValue("@user_id", userID);
之後,我想用CommandText
執行一個簡單的查詢:
aCommand.CommandText = "SELECT * FROM aTABLE";
aCommand.ExecuteNonQuery();
但出現錯誤:
異常:找不到存儲過程'SELECT * FROM aTABLE'
在這種情況下,我必須創建一個SqlCommand
對象的新實例嗎?
這是一種使用相同的SqlCommand
對象來避免創建一個?
您必須更改命令類型與文本您嘗試喲執行查詢之前。 – Ademar
_「在這種情況下,我必須創建一個SqlCommand對象的新實例嗎?」_我建議這樣做以避免這種混淆。創建一個'SqlCommand'不是很貴,所以你需要重用它。實際上,構造函數不過是設置屬性。 –
不確定,但我想你也應該調用'aCommand.Parameters.Clear();' – Steve