处理参数

时间:2011-03-13 13:01:20

标签: c# .net sql sql-server tsql

public static long callproc()
{
    DbCommand command = db.GetStoredProcCommand("dbo.proc");
    db.AddOutParameter(command, "@proc_id", DbType.Int64, 8);
    db.ExecuteNonQuery(command);
    return long.Parse(db.GetParameterValue(command, "@proc_id").ToString());
}

这是使用参数的最佳方式吗?

1 个答案:

答案 0 :(得分:2)

函数GetParameterValue()不是.NET框架的一部分,所以我不确定它是做什么的。

在任何情况下,您似乎都在将SqlInt64转换为string,然后转换为long。这将有效,但它还有很长的路要走。 SqlInt64long之间存在隐式转换。尝试:

return (long) command.Parameters["@proc_id"].Value;

这避免了对中间string的需求。