columna desconocida firebird c#

Estoy usando FirebirdSql.Data.FirebirdClient;

Tengo una consulta SQL:

"SELECT * FROM TB_CLIENTES C JOIN TB_CLIENTES_ENDERECOS E ON (E.CLIENTE_COD = C.CLIENTE_COD AND E.ENDERECO_TIPO_COD =1) WHERE C.CLIENTE_COD LIKE :filtro ORDER BY C.RAZAO_SOCIAL"

Para hacer seleccionar im usando este código:

        string conexao = String.Format(integracao.Local, integracao.Usuario, integracao.Senha);
        DbConnection connection = null;
        DbCommand command = null;
        connection = new FbConnection(conexao);
        connection.Open();
        command = new FbCommand(@integracao.ConsultaSQL, (FbConnection)connection);
        if (integracao.TipoFiltro.Equals(TipoFiltroEnum.TEXTO)) { command.Parameters.Add(new FbParameter(":filtro", campoFiltro + "%")); }
        else { command.Parameters.Add(new FbParameter(":filtro", campoFiltro)); }
        DbDataReader dr = command.ExecuteReader();

Estoy recibiendo esta excepción:

FirebirdSql.Data.FirebirdClient.FbException: 'Dynamic SQL Error SQL error code = -206 Column unknown FILTRO At line 1, column 146' IscException: Dynamic SQL Error SQL error code = -206 Column unknown FILTRO At line 1, column 146

EDITAR: cambie: a @filtro y resuelva el problema

Answer

Los parámetros en el proveedor Firebird ADO.net deben estar precedidos por el @símbolo y no por un :.

Simplemente cambie su código para usar @y debería funcionar.

Fragmento de código SQL:

... WHERE C.CLIENTE_COD LIKE @filtro ORDER BY ...

Fragmento de código C#:

... command.Parameters.Add(new FbParameter("@filtro", ...