none
codigo consultar não funciona RRS feed

  • Pergunta

  • Tenho uma tabela com vários jogadores, mas gostaria de consultar apenas 1 jogador

    Então eu fiz im textbox para digitar o nome do jogador, uma datagridview e um botão.

    O problema é que não ta funcionando...Se eu executo com essa linhaDA.Fill(DS, "alunos"); da erro e se eu apago
    não acontece nada.

    private void butconsultar_Click(object sender, EventArgs e)
            {
                string strconn = "User=SYSDBA;Password=5784;Database=C:\\Jogador\\Cadastro.GDB;DataSource=localhost;Port=3050;Dialect=3;Charset=NONE;Role=;Connectionlifetime=0;Connection timeout=15;Pooling=True;Packet Size=8192;ServerType=0";
                FbConnection conn = new FbConnection(strconn);
                FbCommand cmd = new FbCommand("select from jogadores where NOME = " + texbconsultarnome.Text, conn);
                FbDataAdapter DA = new FbDataAdapter(cmd);
                DataSet DS = new DataSet();
                conn.Open();           
                dataGridView1.DataSource = DS;
                conn.Close();
            }

    segunda-feira, 25 de outubro de 2010 15:33

Respostas

Todas as Respostas

  • Amigo, tente substituir a linha pela a de baixo:

    FbCommand cmd = new FbCommand("select * from jogadores where NOME = '" + texbconsultarnome.Text+"'", conn);
    

    Olavo Oliveira Neto
    Se for útil marque como resposta e faça um Developer feliz :)
    segunda-feira, 25 de outubro de 2010 16:04
  • Fabricio acho que vc tem que concatenar o seu cmd e fazer uma string apenas não conheço o fb mais em sql server é preciso concatenar a string tenta desse jeito abaixo e ver se funfa a bagaça!

     

     FbCommand cmd = new
    
     FbCommand("select * from jogadores where NOME = '%"
    
     + texbconsultarnome.Text + "%'"
    
    , conn);
    

     


    Pablo Batista Cardoso
    segunda-feira, 25 de outubro de 2010 16:10
  • Srs.,

    Ao invés de ficar concatenando valores nos comandos, utilizem a funcionalidade de parâmetros do ADO.NET... Isso evita esse problema de esquecer aspas entre outras coisas... Vejam exemplos no link abaixo:

    http://www.firebirdsql.org/firebirdtutorial/fbcommand.html


    André Alves de Lima
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima
    segunda-feira, 25 de outubro de 2010 22:25
    Moderador
  • E como ficaria ?
    Pois eu tentei assim e não consegui...


    string strconn =
    "User=SYSDBA;Password=5784;Database=C:\\Jogador\\Cadastro.GDB;DataSource=localhost;Port=3050;Dialect=3;Charset=NONE;Role=;Connectionlifetime=0;Connection
    timeout=15;Pooling=True;Packet
    Size=8192;ServerType=0";
    FbCommand cmd = new FbCommand("insert into jogadores(id, text) values (@id, @text);");
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Parameters.Add("@id", "123");
    cmd.Parameters.Add("@text", "inserted text");
    using (cmd.Connection = new FbConnection(ConfigurationManager.ConnectionStrings["mydb"].ConnectionString)){
      cmd.Connection.Open();
      cmd.ExecuteNonQuery());

     

    segunda-feira, 25 de outubro de 2010 22:58
  • É porque esse comando não é uma chamada a Stored Procedure... Então, remova a linha em que você seta o CommandType...

    E, se não funcionar, poste a mensagem de erro que você está recebendo...


    André Alves de Lima
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima
    segunda-feira, 25 de outubro de 2010 23:24
    Moderador
  • Este é o erro : Error    1    The name 'ConfigurationManager' does not exist in the current context    C:\Users\Fabricio\FABRICIO\Unopar\TCC\TCC com FIREBIRD\SOFTWARE TCC\SOFTWARE\Matricula\Matricula\telaconsultar.cs    45    54    Matricula

     

     

    string strconn = "User=SYSDBA;Password=8547;Database=C:\\jogadores\\Cadastro.GDB;DataSource=localhost;Port=3050;Dialect=3;Charset=NONE;Role=;Connectionlifetime=0;Connectiontimeout=15;Pooling=True;PacketSize=8192;ServerType=0";

                FbCommand cmd = new FbCommand("insert into alunos(NOME) values (@NOME);");

                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add("@NOME", "inserted NOME");
                
                using (cmd.Connection = new FbConnection(ConfigurationManager.ConnectionStrings["Cadastro"].ConnectionString)) /AQUI É O ERRO
                {

                    cmd.Connection.Open();

                    cmd.ExecuteNonQuery();

    segunda-feira, 25 de outubro de 2010 23:57
  • Fabrício,

    Ué... Não estou entendendo... Você tem a string de conexão definida ali na variável strconn e, na hora de criar a conexão você está tentando pegar a connection string das settings? Usa sua variável ali...

    cmd.Connection = new FbConnection(strconn)...


    André Alves de Lima
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima
    terça-feira, 26 de outubro de 2010 00:18
    Moderador
  • Agora sim ele está rodando, porém quando digito o nome e clico no botão, a execução para e mostra erro !  

    Dynamic SQL Error
    SQL error code = -104
    Token unknown - line 1, column 19
    insert

     

    string strconn = "User=SYSDBA;Password=8553;Database=C:\\JOGADORES\\Cadastro.GDB;DataSource=localhost;Port=3050;Dialect=3;Charset=NONE;Role=;Connectionlifetime=0;Connectiontimeout=15;Pooling=True;PacketSize=8192;ServerType=0";
                FbCommand cmd = new FbCommand("insert into alunos(NOME) values (@NOME);");
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("@NOME", "inserted NOME");           
                using (cmd.Connection = new FbConnection(strconn))
                {
                    cmd.Connection.Open();
                    cmd.ExecuteNonQuery(); //NESSA LINHA QUE ESTÁ DANDO O ERRO, E SE APAGO ESSA LINHA ELE EXECUTA SEM ERRO MAS NÃO RETORNA NENHUM VALOR
                }

    terça-feira, 26 de outubro de 2010 00:41
  • Fabrício,

    Como comentei anteriormente, você não está executando uma Stored Procedure, mas sim, executando um comando SQL. Portanto, tente remover a linha onde você seta o CommandType como sendo StoredProcedure...


    André Alves de Lima
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima
    terça-feira, 26 de outubro de 2010 00:43
    Moderador
  • Removi a linha, ai o erro não acontece, mas também não acontece nada...
    Continua em branco o datagridview...
    terça-feira, 26 de outubro de 2010 01:06
  • Fabrício,

    Mas esse código que você utilizou serve para inserir um registro na sua tabela no banco de dados...

    Para carregar essa tabela no DataGridView você precisa utilizar um SELECT para jogar os dados em um DataSet e setar a DataSource da sua grid como sendo esse DataSet...


    André Alves de Lima
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima
    terça-feira, 26 de outubro de 2010 10:38
    Moderador
  • Troquei os comandos, porém o erro persiste...

     

    string strconn = "User=SYSDBA;Password=9123;Database=C:\\Jogadores\\Cadastro.GDB;DataSource=localhost;Port=3050;Dialect=3;Charset=NONE;Role=;Connectionlifetime=0;Connectiontimeout=15;Pooling=True;PacketSize=8192;ServerType=0";
                FbCommand cmd = new FbCommand("select into alunos(NOME);");           
                cmd.Parameters.Add("@NOME", "selected NOME");           
                using (cmd.Connection = new FbConnection(strconn))
                {
                    cmd.Connection.Open();
                    cmd.ExecuteNonQuery(); //AQUI ESTÁ O ERRO
                }

    Dynamic SQL Error
    SQL error code = -104
    Token unknown - line 1, column 8
    into

    terça-feira, 26 de outubro de 2010 15:16
  •  

    Tenta o comando Sql desta maneira:

     

    FbCommand cmd = new FbCommand("SELECT * FROM alunos");  

     

    E ONDE ESTÁ DANDO ERRO MUDA PARA ESSE COMANDO E VÊ SE FUNFA:

     

             cmd.ExecuteReader(); //DESTA MANEIRA

     

    E FAÇA RETORNA O QUE QUIZER VÊ SE FUNFA AGORA.

     

     

     

     


    Pablo Batista Cardoso
    terça-feira, 26 de outubro de 2010 15:35
  • Dynamic
    SQL Error
    SQL error code = -104
    Token unknown - line 1, column 8
    into

    string strconn = "User=SYSDBA;Password=9123;Database=C:\\Jogadores\\Cadastro.GDB;DataSource=localhost;Port=3050;Dialect=3;Charset=NONE;Role=;Connectionlifetime=0;Connectiontimeout=15;Pooling=True;PacketSize=8192;ServerType=0";
                FbCommand cmd = new FbCommand("select into alunos(NOME);");//O COMANDO SELECT * FROM ALUNOS RETORNA TODA A TABELA, E EU PRETENDO PESQUISAR APENAS 1 VALOR, CONFORME DIGITADO NO TEXTBOX          
                cmd.Parameters.Add("@NOME", "selected NOME");           
                using (cmd.Connection = new FbConnection(strconn))
                {
                    cmd.Connection.Open();
                    cmd.ExecuteReader(); //AQUI ESTÁ O ERRO
                }

     

     

    terça-feira, 26 de outubro de 2010 15:40
  • Fabrício,

    Sugiro que antes de se aventurar nesse código, você dê uma estudada em SQL básico... Uma consulta SQL para retornar registros a partir de um valor de uma coluna não tem essa estrutura que você está utilizando (select into alunos(NOME))...

    Dê uma olhada nestes tutoriais sobre SQL:

    http://www.w3schools.com/sql/default.asp

    Estude os exemplos desse site e, aí sim, tente adaptar os SELECTs no seu aplicativo... Senão você não vai conseguir caminhar (ou pode até ser que consiga, mas, não vai acabar entendendo porquê funcionou)...


    André Alves de Lima
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima
    terça-feira, 26 de outubro de 2010 15:43
    Moderador
  • tentei dessa forma e também não deu certo...

    string strconn = "User=SYSDBA;Password=9422;Database=C:\\Jogadores\\Cadastro.GDB;DataSource=localhost;Port=3050;Dialect=3;Charset=NONE;Role=;Connectionlifetime=0;Connection timeout=15;Pooling=True;Packet Size=8192;ServerType=0";
                FbConnection conn = new FbConnection(strconn);
                FbCommand cmd = new FbCommand("select from jogadores where NOME = " + texbconsultarnome.Text, conn);
                FbDataAdapter DA = new FbDataAdapter(cmd);
                DataSet DS = new DataSet();
                conn.Open();
                DA.Fill(DS, "jogadores");
                dataGridView1.DataSource = DS;
                conn.Close();

    ESTE É O ERRO:

    Dynamic SQL Error
    SQL error code = -104
    Token unknown - line 1, column 8
    from

    Eu usei este mesmo código para deletar um especifico jogador da tabela e funcionou, mas para consultar não deu.

    terça-feira, 26 de outubro de 2010 16:55
  • FbCommand cmd = new FbCommand("select from jogadores where NOME = @Nome", conn);
    cmd.Parameters.Add("@Nome", texbconsultarnome.Text);
    

    André Alves de Lima
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima
    • Marcado como Resposta Fabricio C-Sharp terça-feira, 26 de outubro de 2010 23:32
    terça-feira, 26 de outubro de 2010 18:46
    Moderador
  • Obrigado amigo por ser atencioso...
    Eu tentei essa modificação e continuou o erro, dai li o artigo que você me passou e descobri que estava faltando apenas o * para funfa !!!!!
    Agora ta show de bola !

    Obrigado a todos que me ajudaram...

    terça-feira, 26 de outubro de 2010 23:32
  • Fabrício,

    Opa, falha minha... Não percebi que estava faltando o * também... =)

    Que bom que conseguiu solucionar seu problema... Precisando, estamos aí...

    Bom trabalho / estudos por aí!


    André Alves de Lima
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima
    terça-feira, 26 de outubro de 2010 23:43
    Moderador