Jump to content
  • ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By guilherme_soi
      Ao acessar o meu aplicativo recebo a seguinte mensagem: 'the dbname and launch parameters must be specified on first run' como resolver?
       
      Ao acessar o meu aplicativo recebo a seguinte mensagem: 'the dbname and launch parameters must be specified on first run' como resolver? Existe algo que possa ser feito?
    • By Rluz2019
      Avaliação Discursiva 4 - Calouros
      Questão A
      Na programação de computadores é muito comum o uso de estruturas iterativas para resolver problemas que envolvem coleções de dados (vetores, matrizes, listas). Considerando o seguinte trecho de código (notado em C#), que define a classe Funcionario:
      class Funcionario
      {
            public  int  Matricula  { get; set;  }
            public  string  Nome  { get; set;  }
            public static List< Funcionario> Funcionarios  {get; set;  }
      }
      Crie, na classe Funcionário:
      1.   Um método estático, denominado GerarLista, que cria e retorna uma lista com 10 registros de funcionários, sendo que:
      a)   A lista gerada será utilizada para preencher o atributo Funcionários, que é uma lista;
      b)   A matrícula deve ser um número inteiro sequencial (de 1 a 10);
      c)   O nome deve ser uma sequência de caracteres gerada aleatoriamente (podem ser nomes sorteados de uma lista pré-armazenada ou uma sequência qualquer de caracteres).
      2.   Um método estático, denominado BuscarFuncionario, que recebe um nome (string) por parâmetro, localiza o funcionário pelo nome na lista, e retorna a matrícula (int) do funcionário encontrado.
      ·       Caso o nome não seja encontrado, o retorno para a matrícula deve ser -1 (menos um).
       
      Meu Código!

      Estou com dificuldades de realizar algum poderia me ajudar a estruturar:
       CODIGO PRINCIPAL
      using System;
      //Using - Biblioteca do C#
      //___________________________________________________________//
      //           Aluno: Rodrigo Fernando da Luz                  //
      //           Faculdade - Fael                                //
      //___________________________________________________________//
      //Aula 02: Atributos e Métodos Unidade 04
      namespace Avaliação_Discursiva_4
      {
          class Program
          {
              static void Main(string[] args) // algoritmo Função ao metodo main
              {
                  GerarLista();
                  Console.ReadKey();
              }
              static void GerarLista()
              {
                  //Instanciar a Classe
                  Funcionario Nome_funcionario = new Funcionario(); //variavel #Nome_funcionario#
                  //Passar o conteudo que vai ser digitado para As Variaveis!!!
         
                  string[] Nomes = new string[10];
                  
                  Console.WriteLine("");
                  Console.WriteLine(" Lista gerada será utilizada para preencher o atributo Funcionários, que é uma lista:");
                  Console.WriteLine("");
                  char[] Xmatricula = new char[10];//Arry
                  char[] Xnome = new char[10];
                  int i;
                  //string Xnomes;
           
                  Console.WriteLine("");
                  Console.WriteLine("Digite Seu Nome: ");
                  Console.WriteLine("");
                  for (i = 0; i < 10; i++)
                  { //Contador 1 até 10.
                      Console.WriteLine("Informe Nome do  " + (i + 1) + " ª Funcionário:");
                      Xnome = char.Parse(Console.ReadLine());
                   
                  }
                  Console.WriteLine("");
                  Console.WriteLine("Lista de Funcionarios: ");
                  Console.WriteLine("");
                  for (i = 0; i < 10; i++)
                  {//Escreve na Tela o Numero 1 ate 10 e Nome do Funcionario.
                      Console.WriteLine("A Matricula: " + (i + 1) + "  ª Funcionario:  " + Nomes);
                  }
              }
          }
      }
       
       
      // CRIADO A CLASSE FUNCIONARIO:
      using System;
      using System.Collections.Generic;
      using System.Text;
      namespace Avaliação_Discursiva_4
      {
          //Atributos da minha Classe
          class Funcionario
          {
              //metodos Get e Set
              //Get Vai Pegar
              //Set vai Gravar
              public string Nome { get; set; }
              
              public int Matricula { get; set;}
              public string Materia { get; set; }
              public string Notas { get; set; }
              public static List<Funcionario> Funcionarios { get; set; }
              public void setNome(string Nome) //metodos //Set vai Gravar
              {
                  this.Nome = Nome;
              }
              public string getNome(string Nome) //metodos //Get vai Pegar
              {
                  return this.Nome;
              }
              public int getMatricula()//metodos //Get vai Pegar
              {
                  return this.Matricula;
              }
          }
      }
       
       
       
      Alguém pode me ajudar?
    • By Hállex da Silva Costa
      Alguém poderia me dizer qual a forma mais correta de se utilizar uma classe seguindo as regras e padrões da Orientação a Objeto. Digamos que eu tenha uma classe Abstrata que fará a conexão com o banco de dados, eu crio uma outra classe que herda dessa classe abstrata, o correto seria utilizar os atributos da classe usando Exemplo 1 ou Exemplo 2?
      OBS: se eu usar o Exemplo 1 (que utiliza o parent) ou Exemplo 2 (que utilza o $this) o resultado dos dois é o mesmo como no print abaixo mostra.
      P.S.: Estou pergutando para não acabar fazendo gambiarra.
       
      Codígo Exemplo 1:
      <?php require_once 'db.abstract_class.php'; final class DB extends AbstractDB { public function __construct(String $dbtype, String $host, Int $port, String $dbname, String $charset, String $user, String $pass){ return parent::__construct($dbtype, $host, $port, $dbname, $charset, $user, $pass); } final function Connect(){ $dbtype = parent::getDBType(); $host = parent::getHost(); $port = parent::getPort(); $dbname = parent::getDBName(); $charset = parent::getCharset(); $dbh = new PDO($dbtype . ":host={$host};port={$port}dbname={$dbname};charset{$charset}", parent::getUser(), parent::getPass()); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, TRUE); $dbh->setAttribute(PDO::ATTR_PERSISTENT, TRUE); parent::setConnection($dbh); return parent::getConnection(); } final function Disconnect(){} final function selectDB(){} final function insertDB(){} final function updateDB(){} final function deleteDB(){} } ?> Codígo Exemplo 2:
      <?php require_once 'db.abstract_class.php'; final class DB extends AbstractDB { public function __construct(String $dbtype, String $host, Int $port, String $dbname, String $charset, String $user, String $pass){ $this->setDBType($dbtype); $this->setHost($host); $this->setPort($port); $this->setDBName($dbname); $this->setCharset($charset); $this->setUser($user); $this->setPass($pass); } final function Connect(){ $dbtype = $this->getDBType(); $host = $this->getHost(); $port = $this->getPort(); $dbname = $this->getDBName(); $charset = $this->getCharset(); $dbh = new PDO($dbtype . ":host={$host};port={$port}dbname={$dbname};charset{$charset}", $this->getUser(), $this->getPass()); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, TRUE); $dbh->setAttribute(PDO::ATTR_PERSISTENT, TRUE); $this->setConnection($dbh); return $this->getConnection(); } final function Disconnect(){} final function selectDB(){} final function insertDB(){} final function updateDB(){} final function deleteDB(){} } ?> Resultado:

    • By lucascientista
      Boa noite, galera é o seguinte eu estou montando um script que pesquisa no banco de dados e mostrar os resultados em uma página php, bem aí que está o problema eu pesquisei alguns sistemas de paginação e de pesquisa e acabei montando meu script, no meu script a pesquisa aparece na primeira página mas quando passo para a página adiante não me é mostrado resultado nenhum já verifiquei tudo e não consigo encontrar o erro, será que alguém pode me ajudar?
       
      <?php #Incluindo a conexão no banco de dados require_once '../dao/conexao/Conexao.php'; $conexao = Conexao::getInstance(); /***********************************************/ #Aqui começa a parte a paginação e pesquisa /**********************************************/ #Limitando o número máximo de resultados que serão mostrados na tela $maximo = 1; #Armazenando o valor da página atual $pagina = isset($_GET["pagina"])? ($_GET["pagina"]): '1'; #Subtraindo 1, porque os registro começam do zero como em um array $inicio = $pagina - 1; #Multiplicamos a quantidade de registros da pagina pelo valor da pagina atual $inicio = $maximo * $inicio; #Agora chega a parte em que fazemos o SELECT para contar os resultados $sql = "SELECT * FROM centroautomotivo"; $stmt = $conexao->prepare($sql); $stmt->execute(); $contagem = $stmt->fetchAll(PDO::FETCH_ASSOC); $total = 0; if(count($contagem)){ foreach ($contagem as $linhas) { #Armazenando o total de registros da tabela para fazer a paginação $total = count($contagem); } } /******************************************************************* * Aqui vai começar a parte da pesquisa, tornando o script em um só ********************************************************************/ #Recebe o termo da pesquisa se existir $termo = (isset($_GET["termo"])) ? ($_GET["termo"]) : ''; #Executa uma pesquisa com o termo pesquisado como parametro - Este SELECT irá servir também para a paginação if(empty($termo)){ //Nada aqui } else{ $sql = "SELECT * FROM centroautomotivo WHERE nomefantasia LIKE :nomefantasia or email LIKE :email ORDER BY idCentro LIMIT $inicio,$maximo"; $stm = $conexao->prepare($sql); $stm->bindValue(':nomefantasia', '%'.$termo.'%'); $stm->bindValue(':email', '%'.$termo.'%'); $stm->execute(); $autocenters = $stm->fetchAll(PDO::FETCH_ASSOC); } <?php require_once '../includes/header.php'; require_once '../controller/paginacaoPesquisaCentro.php'; ?> <div class="container mb-5"> <h1 class="text text-center">Centros Automotivos</h1> <p class="text text-center">Encontre o centro automotivo que mais se encaixa com você</p> <!--Formulário de pesquisa com paginação--> <form method="GET" action=""> <div class="d-flex flex-column bd-highlight mb-3"> <div class="p-2 bd-highlight"><img src="../img/Logotipo.png" class=" img-fluid rounded mx-auto d-block"></div> <div class="p-2 bd-highlight d-flex justify-content-center" style="margin-top: -10px;"><input type="text" name="termo" class="form-control" style=" width: 60%;" placeholder="Pesquise pelo Centro Automotivo!"/></div> <div class="p-2 bd-highlight d-flex justify-content-center"><button type="submit" class="btn btn-outline-primary"><i class="fas fa-search"></i>&nbsp;Pesquisar</button></div> </div> </form> <!--Fim do formuláio de pesquisa--> <!--Início dos resultados da pesquisa--> <?php if(!empty($autocenters)){?> <?php foreach ($autocenters as $autocenter) { ?> <center> <div class="card mb-3" style="max-width: 540px;"> <div class="row no-gutters"> <div class="col-md-4"> <img src="../controller<?php empty($autocenter["foto"])? 'images/pic.png' : $autocenter["foto"] ?>" class="card-img img-fluid" width="150px" height="150px"> </div> <div class="col-md-8"> <div class="card-body"> <p class="card-text text-justify"><?php $autocenter["nomefantasia"]?></p> <p class="card-text text-justify"><small class="text-muted"><?=$autocenter["email"]?></small></p> </div> </div> </div> </div> </center> <?php }//Fechamento do foreach?> <div id="alignpaginacao"> <?php //determina de quantos em quantos links serão adicionados e removidos $max_links = 6; //dados para os botões $previous = $pagina - 1; $next = $pagina + 1; //usa uma funcção "ceil" para arrendondar o numero pra cima, ex 1,01 será 2 $pgs = ceil($total / $maximo); //se a tabela não for vazia, adiciona os botões if($pgs > 1 ){ echo "<br/>"; //botao anterior if($previous > 0){ echo "<div id='botaoanterior'><a href=".$_SERVER['PHP_SELF']."?termo={$termo}?pagina=$previous><input type='submit' name='bt-enviar' id='bt-enviar' value='Anterior' class='button' /></a></div>"; } else{ echo "<div id='botaoanteriorDis'><a href=".$_SERVER['PHP_SELF']."?pagina=$previous><input type='submit' name='bt-enviar' id='bt-enviar' value='Anterior' class='button' disabled='disabled'/></a></div>"; } echo "<div id='numpaginacao'>"; for($i=$pagina-$max_links; $i <= $pgs-1; $i++) { if ($i <= 0){ //enquanto for negativo, não faz nada }else{ //senão adiciona os links para outra pagina if($i != $pagina){ if($i == $pgs){ //se for o final da pagina, coloca tres pontinhos echo "<a href=".$_SERVER['PHP_SELF']."?pagina=".($i).">$i</a> ..."; }else{ echo "<a href=".$_SERVER['PHP_SELF']."?pagina=".($i).">$i</a>"; } } else{ if($i == $pgs){ //se for o final da pagina, coloca tres pontinhos echo "<span class='current'> ".$i."</span> ..."; }else{ echo "<span class='current'> ".$i."</span>"; } } } } echo "</div>"; //botao proximo if($next <= $pgs){ echo " <div id='botaoprox'><a href=".$_SERVER['PHP_SELF']."?termo={$termo}?pagina=$next><input type='submit' name='bt-enviar' id='bt-enviar' value='Proxima' class='button'/></a></div>"; }else{ echo " <div id='botaoproxDis'><a href=".$_SERVER['PHP_SELF']."?pagina=$next><input type='submit' name='bt-enviar' id='bt-enviar' value='Proxima' class='button' disabled='disabled'/></a></div>"; } } ?> </div> <?php }//Fechamento do if?> <!--Fim dos resultados da pesquisa--> <!--Início da paginação--> <!--Fim da paginação--> </div> <?php require_once '../includes/footer.php'; ?>  
      Bem aí está meu código, fico muito agradecido se puderem me ajudar.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.