我是面向对象编程和 C# 的菜鸟。我正在上夜校学习C#,但我的知识水平处于monkey-see-monkey-do 水平。我这里有一些代码和一些基本问题:
public static String InsertProduct(SqlConnection cnSQL, String strProductDesc, String strProductHS, String strManufacturer)
{
SqlCommand cmdSQL;
Int32 intRetCode = 0;
String strProductKey;
if (cnSQL != null)
{
cmdSQL = new SqlCommand();
cmdSQL.Connection = cnSQL;
cmdSQL.CommandText = "uspInsertProduct";
cmdSQL.CommandType = CommandType.StoredProcedure;
cmdSQL.Parameters.Add(new SqlParameter("@ProductDesc", SqlDbType.NVarChar, 250));
cmdSQL.Parameters["@ProductDesc"].Direction = ParameterDirection.Input;
cmdSQL.Parameters["@ProductDesc"].Value = strProductDesc;
********************************
Code removed for brevity
*********************************
cmdSQL.Parameters.Add(new SqlParameter("@ProductID", SqlDbType.NVarChar, 10));
cmdSQL.Parameters["@ProductID"].Direction = ParameterDirection.Output;
try
{
cmdSQL.ExecuteNonQuery();
}
catch (Exception ex)
{
intRetCode = -1;
}
************Offending Code Start
strProductKey = cmdSQL.Parameters["@ProductID"].ToString;
************Offend Code End
cmdSQL.Parameters.Clear();
cmdSQL.Dispose();
}
return strProductKey;
}
当我有这个语句“cmdSQL.Parameters[“@ProductID”].Direction = ParameterDirection.Output;”时会返回什么?记录号还是实际密钥?
假设答案是实际的关键,我如何构造变量赋值以便我可以将它返回给调用例程?
谢谢。