获取 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()

但我在.参数查询如何查找参数名称或值。

我怎样才能将值设置为字符串?我是否必须列出参数和循环,通过该列表将参数及其值写入字符串?如果是这样,如何?

获取 sqlcommand 的参数到字符串

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);
    }