Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Daniel Alves_759110

select em C#

Recommended Posts

Olá pessoal, estou fazendo um pequeno jogo manager, mas estou com um problema na classificação do campeonato, quando eu coloco o seguinte código no MySQL workbench ele roda normalmente:

 

SELECT CASE
    WHEN @prev_value = pontuacao THEN @rank_count
    WHEN @prev_value := pontuacao THEN @rank_count := @rank_count + 1
END AS Posição ,times.nome, classificacao.* from classificacao inner join times on times.idTime = classificacao.idTime where idManager = 2 ORDER BY pontuacao desc;

 

mas quando eu coloco esse código desta maneira no C#:

 

 try{
                dtb.Clear();
                MySqlCommand cmd = new MySqlCommand(
                  "SET @prev_value = NULL; "
                + " SET @rank_count = 0; "
                + " SELECT CASE WHEN @prev_value = pontuacao THEN @rank_count"
                + " WHEN @prev_value := pontuacao THEN @rank_count := @rank_count + 1"
                + " END AS Posição, times.nome, classificacao.*  from classificacao "
                + " inner join times on times.idTime = classificacao.idTime where idManager= '"
                + cManager.IdManager + "' ORDER BY pontuacao desc;", this.con);
                this.con.Open();
                adp.SelectCommand = cmd;
                adp.Fill(this.dtb);
            }

 

E ele me retorna o seguinte erro:

{"Fatal error encountered during command execution."}    System.Exception {MySql.Data.MySqlClient.MySqlException}

 

Minha tabela classificacao esta desta forma:

 

CREATE TABLE IF NOT EXISTS `ManageMyTeam`.`classificacao` (
  `idClassificacao` INT NOT NULL AUTO_INCREMENT,
  `idTime` INT NOT NULL,
  `idManager` INT NOT NULL,
  `pontuacao` INT NOT NULL,
  `golsPro` INT NULL,
  `golsContra` INT NULL,
  PRIMARY KEY (`idClassificacao`),
  INDEX `idTime3_idx` (`idTime` ASC),
  INDEX `idManager1_idx` (`idManager` ASC),
  CONSTRAINT `idTime3`
    FOREIGN KEY (`idTime`)
    REFERENCES `ManageMyTeam`.`times` (`idTime`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `idManager1`
    FOREIGN KEY (`idManager`)
    REFERENCES `ManageMyTeam`.`managers` (`idManager`)
    ON DELETE CASCADE
    ON UPDATE CASCADE)

 

Alguem poderia me dar um help?
 

post-763206-0-92454200-1429342573_thumb.

post-763206-0-10798800-1429342576_thumb.

Editado por Daniel Alves_759110

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×