我有以下SqlCommand参数。如何进入和退出存储过程的参数值。
SqlCommand mySqlCommand = new SqlCommand("aspInsertZipCode", mySqlConnection);
mySqlCommand.CommandType = CommandType.StoredProcedure;
mySqlCommand.Parameters.Add("@DataRows", dataStringToProcess.ToString());
答案 0 :(得分:14)
var pInOut = mySqlCommand.Parameters.Add("@DataRows", dataStringToProcess.ToString());
pInOut.Direction = ParameterDirection.InputOutput;
然后在执行命令后读取输出值:
// assumes that the parameter is a string and that it could possibly be null
string value = Convert.IsDBNull(pInOut.Value) ? null : (string)pInOut.Value;
答案 1 :(得分:6)
SqlParameter
有一个Direction
枚举。设置此值。
然后使用SqlCommand.Parameters.Add
的{{1}}。
参数方向:
http://msdn.microsoft.com/en-us/library/system.data.parameterdirection.aspx
然后在调用SqlParameter
之后将值拉出(例如),方法是从参数中取出ExecuteNonQuery
:
Value
不记得了,但我认为有一个字符串索引器。
或者,有一个班轮:
myCommand.Parameters["@paramName"].Value
答案 2 :(得分:2)
SQL命令参数的一个属性是Direction。你想要使用(内存不足)
SqlCommand mySqlCommand = new SqlCommand("aspInsertZipCode", mySqlConnection);
mySqlCommand.CommandType = CommandType.StoredProcedure;
mySqlCommand.Parameters.Add("@DataRows", dataStringToProcess.ToString());
mySqlCommand.Parameters("@DataRows").Direction = ParameterDirection.InputOutput;
答案 3 :(得分:0)
SqlParameter DataRows = new SqlParameter("@DataRows", SqlDbType.Text)
{ Value = dataStringToProcess.ToString(), Direction = ParameterDirection.InputOutput};
mySqlCommand.Parameters.Add(DataRows);