none
Como armazenar valores de um Select mysql em um vetor RRS feed

  • Pergunta

  • Gostaria de saber como armazeno os valores que vão resultar desse SELECT em um vetor.... ate agora tentei assim :  

    public void busca(string codigo, Classligacao cm)
            {
                string caminho = "SERVER=localhost;DATABASE=plano;UID=root; PASSWORD=ifnmg;";
                try
                {
                    conexao = new MySqlConnection(caminho);
                    conexao.Open();

                    string buscar = "SELECT * from ligacao where idcurso =" + int.Parse(codigo) + "'and idmodulo='" + cm.idmodulo + "'";

                    MySqlCommand comandos = new MySqlCommand(buscar, conexao);
                    MySqlDataReader dr = comandos.ExecuteReader();
                    while (dr.Read())
                    {

                        cm.vetor = dr["iddisciplina"].ToString[];


                    }

                    conexao.Close();
                }
                catch (Exception ex)
                {
                    throw new Exception("Erro de Conexao ou Comando: " + ex.Message);
                }
            }

    porem não estou conseguindo colocar os resultados no vetor

    obs: o vetor foi declarado string em uma class

                        
    sexta-feira, 26 de junho de 2015 20:38

Respostas

  • Olá,

     supondo que seu array seja de string e já esteja instanciado :

     MySqlCommand comandos = new MySqlCommand(buscar, conexao);
                    MySqlDataReader dr = comandos.ExecuteReader();
    
                    int index = 0;               
    
                    while (dr.Read())
                    {
    
                     cm.vetor[index] = dr["iddisciplina"].ToString();
    
                    index++;
    
                    }
    
                    conexao.Close();
     A variavel index é a posição onde vai o registro em seu vetor ! 

    sexta-feira, 26 de junho de 2015 23:57
  • Olá, Gostaria de saber a sintaxe q você usou para declarar o vetor na sua Class busca.

     Olá existem algumas maneiras, poderia ser uma coleção :

    List<string> vetor = new List<string>();

     Caso seja necessário um array fica um pouco diferente:

    //na sua class
    public string[] Buscar;

     Agora na hora ler os registros, você necessitaria de contar quantas linhas foram recuperadas para criar a instância de seu array e depois passar os dados:

    MySqlCommand comandos = new MySqlCommand(buscar, conexao);
                    MySqlDataReader dr = comandos.ExecuteReader();
    
                    int index = 0;  
    
                   List<string> itens = new List<string>();             
    
                    while (dr.Read())
                    {
    
                     itens.Add(dr["iddisciplina"].ToString());                
    
                    }
    
               //cria instancia seu array
               buscar.Buscar = new string[itens.Count];
              
              //passa os registros para o array
              int index = 0;
              foreach(var item in itens)
              {
               buscar.Buscar[index] = item;
               index++;
              }
    
                    conexao.Close();
     Fica mais complicado sugiro utilizar List<T> conforme primeiro exemplo. Espero que lhe ajude.

    segunda-feira, 24 de outubro de 2016 17:50

Todas as Respostas

  • Olá,

     supondo que seu array seja de string e já esteja instanciado :

     MySqlCommand comandos = new MySqlCommand(buscar, conexao);
                    MySqlDataReader dr = comandos.ExecuteReader();
    
                    int index = 0;               
    
                    while (dr.Read())
                    {
    
                     cm.vetor[index] = dr["iddisciplina"].ToString();
    
                    index++;
    
                    }
    
                    conexao.Close();
     A variavel index é a posição onde vai o registro em seu vetor ! 

    sexta-feira, 26 de junho de 2015 23:57
  • Olá, Gostaria de saber a sintaxe q você usou para declarar o vetor na sua Class busca.
    segunda-feira, 24 de outubro de 2016 17:37
  • Olá, Gostaria de saber a sintaxe q você usou para declarar o vetor na sua Class busca.

     Olá existem algumas maneiras, poderia ser uma coleção :

    List<string> vetor = new List<string>();

     Caso seja necessário um array fica um pouco diferente:

    //na sua class
    public string[] Buscar;

     Agora na hora ler os registros, você necessitaria de contar quantas linhas foram recuperadas para criar a instância de seu array e depois passar os dados:

    MySqlCommand comandos = new MySqlCommand(buscar, conexao);
                    MySqlDataReader dr = comandos.ExecuteReader();
    
                    int index = 0;  
    
                   List<string> itens = new List<string>();             
    
                    while (dr.Read())
                    {
    
                     itens.Add(dr["iddisciplina"].ToString());                
    
                    }
    
               //cria instancia seu array
               buscar.Buscar = new string[itens.Count];
              
              //passa os registros para o array
              int index = 0;
              foreach(var item in itens)
              {
               buscar.Buscar[index] = item;
               index++;
              }
    
                    conexao.Close();
     Fica mais complicado sugiro utilizar List<T> conforme primeiro exemplo. Espero que lhe ajude.

    segunda-feira, 24 de outubro de 2016 17:50
  • Muito obrigado Daniel.
    segunda-feira, 24 de outubro de 2016 17:59