Erro -104 ao abrir o Form.

28/01/2010

1

Boa Noite!
Estou usando Firebird 2.1 e o Visual Studio 2008 C# 3.0
no meu projeto tenho 2 combobox, que são preenchidas com os dados de duas tabelas, que estão vinculadas pelo ID-CLIENTES, ao iniciar o form a cobobox cbxClientes é carregada da seguinte maneira:
        public frmLocacaoEquip()
        {
            InitializeComponent();
            cbxClientes.DataSource = preencheClientes().Tables[0];
            cbxClientes.DisplayMember = "nome_clientes";
            cbxClientes.ValueMember = "id_clientes";
           
        }         private DataSet preencheClientes()
        {
            DataSet ds = new DataSet();
            conFB = new ConexaoFB(strConexao);
            conFB.iniciaDataAdpter("select ID_CLIENTES, NOME_CLIENTES from CLIENTES order by NOME_CLIENTES");
            conFB.FbDA.Fill(ds, "CLIENTES");
            conFB.fecharConexao();
            return ds;
        }
Quanto eu seleciono um cliente na cbxClientes a cbxObras é carregada com todas as obras do cliente selecionado:
        private void cbxClientes_SelectedIndexChanged(object sender, EventArgs e)
        {
            DataTable dt = new DataTable();
            conFB = new ConexaoFB(strConexao);
            string strqry = "SELECT ID_OBRAS, ID_CLIENTES, NOME_OBRAS from OBRAS WHERE ID_CLIENTES = " + cbxClientes.SelectedValue;
            conFB.iniciaDataAdpter(strqry);
            conFB.FbDA.Fill(dt);
            cbxObras.DataSource = dt;
            cbxObras.DisplayMember = "NOME_OBRAS";
            cbxObras.ValueMember = "ID_OBRAS";
            txtCodCli.Text = cbxClientes.SelectedValue.ToString();
            txtCodObra.Text= cbxObras.SelectedValue.ToString();
            cbxObras.Focus();
        }
O problema é que quando executo o aplicatico em modo de depuração da um erro do firebird:
An exception of type 'FirebirdSql.Data.FirebirdClient.FbException' occurred in FirebirdSql.Data.FirebirdClient.dll but was not handled in user code
Additional information: Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, column 84
. Diz que o Token desconhecido é um .(ponto), mas não tem nenhum ponto na linha de comando SQL Se eu executo o aplicativo direto pelo arquivo executável não dá erro nenhum. alguem ai tem como dar uma ajuda?
Responder

Posts

29/01/2010

Thiago Santana

Pegue o SQL que está sendo gerado através da sua aplicação e cole no ibexpert e veja onde que é erro! Assim será mais fácil de você descobrir qual é o erro... Pode ser um erro de conversão.. Espero ter ajudado!
Responder

29/01/2010

Celso Souza

Mas o Firebird não vai aceitar isso:   SELECT ID_OBRAS, ID_CLIENTES, NOME_OBRAS from OBRAS WHERE ID_CLIENTES = "+ cbxClientes.SelectedValue
Responder

05/03/2010

Thiago Santana

Celso mas vc poderá fazer assim para testar! SELECT ID_OBRAS, ID_CLIENTES, NOME_OBRAS from OBRAS WHERE ID_CLIENTES = Informe o mesmo valor que está no seu cbxClientes.SelectedValue;   Esta é a consulta SQL que está sendo gerada? Se for está um pouco estranha! Se esse seu cbxClientes for um combobox.. Acho que vc deveria utilizar assim: ' SELECT ID_OBRAS, ID_CLIENTES, NOME_OBRAS from OBRAS WHERE ID_CLIENTES =  ' + cbxClientes.text;   Teste isso aí! Espero ter ajudado!
AbraçoO 
Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira