获取 sqlcommand 的参数到字符串
本文关键字:字符串 参数 sqlcommand 获取 | 更新日期: 2023-09-27 18:30:53
我正在为网页创建错误日志。我需要一种方法来获取 SQL 命令中的参数以输出到字符串,以便传递的参数使查询尽可能动态,以便在整个站点中使用。
这是我正在谈论的SQL命令类型:
SqlCommand cmdErrReport = new SqlCommand("ERROR_LOG", conn.sbConn);
cmdErrReport.CommandType = CommandType.StoredProcedure;
cmdMarineResort.Parameters.Add("@Statement", SqlDbType.VarChar).Value = "FindSeason";
我正在尝试这样的事情:
cmdMarineResort.Parameters.ToString()
但我在.参数查询如何查找参数名称或值。
我怎样才能将值设置为字符串?我是否必须列出参数和循环,通过该列表将参数及其值写入字符串?如果是这样,如何?
cmdMarineResort.Parameters
是一个SqlParameterCollection。
您可以使用 foreach
语句循环访问它:
foreach(SqlParameter Para in cmdMarineResort.Parameters)
{
Console.WriteLine((string)Para.Value); //value of the parameter as an object
}
这对我使用 MSSQL 服务器有用:
private static string getQueryFromCommand(SqlCommand cmd)
{
string CommandTxt = cmd.CommandText;
foreach (SqlParameter parms in cmd.Parameters)
{
string val = String.Empty;
CommandTxt+=parms.ParameterName + "=";
if ((parms.Value == null)) // string.IsNullOrEmpty(parms.Value))
{
CommandTxt+="NULL, ";
}
else
{
CommandTxt+=(string)parms.Value.ToString() + ", ";
}
}
return (CommandTxt);
}