|M| 一个存储过程应用的例子 帮我看看这是什么意思
页址:http://www.pcdog.com/p/html/2005128/28120057180_1.htm
// 返回值command.Parameters.Add( "Returnvalue ", SqlDbType.Int, 4, // Size ParameterDirection.Returnvalue, false, // is nullable 0, // byte precision 0, // byte scale string.Empty, DataRowVersion.Default, null );
上面这个有什么做用
------解决方案--------------------给存储过程传递参数!
------解决方案--------------------设置传回值!
------解决方案--------------------定义一个SqlParameter 参数
用于获取
SQL存储过程中
RETURN 语句的返回值啊!
------解决方案--------------------设置返回值
执行 ExecuteNonQuery 后
通过 (int)command.Parameters[ "Returnvalue "].Value 获取该值
------解决方案--------------------取存储过程的返回值!
例子:
SqlCommand sampleCMD = new SqlCommand( "SampleProc ", nwindConn);
sampleCMD.CommandType = CommandType.StoredProcedure;
SqlParameter sampParm = sampleCMD.Parameters.Add( "RETURN_VALUE ", SqlDbType.Int);
sampParm.Direction = ParameterDirection.ReturnValue;
sampParm = sampleCMD.Parameters.Add( "@InputParm ", SqlDbType.NVarChar, 12);
sampParm.Value = "Sample Value ";
sampParm = sampleCMD.Parameters.Add( "@OutputParm ", SqlDbType.NVarChar, 28);
sampParm.Direction = ParameterDirection.Output;
nwindConn.Open();
SqlDataReader sampReader = sampleCMD.ExecuteReader();
Console.WriteLine( "{0}, {1} ", sampReader.GetName(0), sampReader.GetName(1));
while (sampReader.Read())
{
Console.WriteLine( "{0}, {1} ", sampReader.GetInt32(0), sampReader.GetString(1));
}
sampReader.Close();
nwindConn.Close();
Console.WriteLine( " @OutputParm: {0} ", sampleCMD.Parameters[ "@OutputParm "].Value);
Console.WriteLine( "RETURN_VALUE: {0} ", sampleCMD.Parameters[ "RETURN_VALUE "].Value);
------解决方案--------------------Parameter 对象可以使用 Parameter 构造函数来创建,或通过调用 Command 的 Parameters 集合的 Add 方法来创建。Parameters.Add 会将构造函数参数或现有 Parameter 对象用作输入。在将 Parameter 的 Value 设置为空引用时,请使用 DBNull.Value。
对于 Input 参数之外的参数,必须设置 ParameterDirection 属性来指定参数类型是 InputOutput、Output 还是 ReturnValue。以下示例显示创建 Input、Output 和 ReturnValue 参数之间的差异。
=========
楼主不看MSDN吗?
------解决方案--------------------