";过程或函数需要参数,但未提供该参数&”;

本文关键字:参数 过程 quot 函数 | 更新日期: 2023-09-27 18:27:55

我有一个错误,它是:

过程或函数"Consulta_RFC_Impresa"需要参数"@RFC",但没有提供

这是我在C#上使用的代码:

    public static Proveedor getDatosEmpresa(string erfc)
    {
        SqlDataReader rdr = null;
        Proveedor empr = new Proveedor();
        try
        {
            conn.Open();
            SqlCommand command = new SqlCommand("Consulta_RFC_Empresa", conn);
            command.CommandType = CommandType.StoredProcedure;
            command.Parameters.AddWithValue("@RFC", @erfc);
            rdr = command.ExecuteReader();
            while (rdr.Read())
            {
                if (rdr.HasRows)
                {
                    empr.seteID("" + rdr["ID"]);
                    empr.seteRfc("" + rdr["RFC"]);
                    empr.seteTipo("" + rdr["Tipo"]);
                    empr.seteRazon("" + rdr["Razon_Social"]);
                }
            }
        }
        finally
        {
            if (conn != null)
            {
                conn.Close();
            }
            if (rdr != null)
            {
                rdr.Close();
            }
        }
        return empr;
    }

存储过程代码为:

ALTER PROCEDURE [dbo].[Consulta_RFC_Empresa]
(
    @RFC    VARCHAR(50)
)
AS
SET NOCOUNT ON
SELECT  TOP(1)
    RTRIM(LTRIM(ID))    AS  ID,
    RTRIM(LTRIM(REPLACE(RFC, ' ', '')))             AS  RFC,
    RTRIM(LTRIM(Tipo))              AS  Tipo,
    RTRIM(LTRIM(Razon_Social))  AS  Razon_Social
FROM    [Roga].[dbo].[RFC_Empresa_Buzon_Fiscal]
WHERE   RTRIM(LTRIM(REPLACE(RFC, ' ', ''))) LIKE  @RFC

有人能帮我吗??

";过程或函数需要参数,但未提供该参数&”;

似乎没有添加它所期望的参数(@eRFC.中有一个额外的"e"

您有:

command.Parameters.AddWithValue("@eRFC", erfc);

尝试将其更改为:

command.Parameters.AddWithValue("@RFC", erfc);

更改代码命令参数。AddWithValue("@RFC",@erfc);

至命令参数。AddWithValue("@RFC",erfc);

因为"erfc"是您要传递给参数的值。

试试这个,

SqlCommand command = new SqlCommand("Consulta_RFC_Empresa @RFC", conn);