I'm using FirebirdSql.Data.FirebirdClient;
I have SQL query:
"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"
For make select im Using this code:
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();
im getting this exception:
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
EDIT: change : to @filtro and solve problem
Parameters in Firebird ADO.net provider should be preceded with the
@symbol and not a:.Simply change your code to use
@and it should work.SQL code snippet:
C# code snippet: