我試圖使用Command.Prepare
與具有單個輸入參數的CommandType.Text
查詢。 SELECT有幾個我用DataReader提取的列。在撥打Command.Prepare()
之前,是否需要將每個選擇列指定爲輸出參數?即使我不需要指定它們,如果我這樣做會提高性能嗎?使用Command.Prepare和SELECT,我是否需要將SELECT列指定爲輸出參數?
示例代碼:
using(var connection = new SqlConnection("connection string")
{
connection.Open();
using(var cmd = new SqlCommand(null, Connection))
{
cmd.CommandText = "SELECT COLUMN1, COLUMN2, COLUMN3 " +
"FROM TABLE1 WHERE COLUMN4 = @thing";
cmd.Parameters.Add(new SqlParameter
{
ParameterName = "@thing",
DbType = SqlDbType.Int,
Value = 1
});
//should I add output parms for COLUMN1, COLUMN2, COLUMN3?
cmd.Prepare();
using(var reader = cmd.ExecuteReader())
{
//get stuff out of reader
}
}
}