• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

felipehenrique

Pegar dados de uma tabela e colocar em um array bi-dimensional

2 mensagens neste tópico

Olá pessoal.

sou do brasil e sou novo aqui no pap.

E tenho uma dúvida quanto a programação C#.

Como que faço para pegar os dados de uma tabela (banco de dados access), e colocar em array bi-dimensional?

Poderia ser do tipo: Exemplo: [1][1] (coluna 1, linha 1)

OBS: eu sei sql e já trabalhei com banco de dados mysql com php.

Desde já agradeço a ajuda. :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olá,

Bom, primeiro adiciona o ficheiro App.config à tua aplicação caso ainda não o tenhas feito e adicionas o seguinte:

  <connectionStrings>
    <add name="AccessConnectionString" connectionString="Provider=Microsoft.JET.OLEDB.4.0;data source=PATH PARA DB" />
  </connectionStrings>

Depois para fazeres uma consulta fazes o seguinte:

Aconselho-te a criares uma estrutura onde possas ir guardando os dados dos resultados devolvidos pela consulta.

OleDbCommand command;
OleDbConnection conn = new OleDbConnection(ConfigurationManager.ConnectionStrings["AccessConnectionString"].ToString());

try
{
conn.Open();

cmd = new OleDbCommand("SELECT * FROM TABELA WHERE id=? AND x=? etc...", conn);
    cmd.Parameters.AddWithValue("@id",VALOR DO PARAMETRO);
cmd.Parameters.AddWithValue("@x",VALOR DO PARAMETRO);

    OleDbDataReader reader = command.ExecuteReader();

    if (reader.HasRows)
{
	ArrayList resultados = new ArrayList();
	ESTRUTURA estrutura = new ESTRUTURA();
	while(reader.Read())
	{
		estrutura.Id = reader.GetInt32(0);
		estrutura.X = reader.GetString(1);
		...

		resultados.Add(estrutura);
	}

	//Caso precises mesmo de um array bi-dimensional cria-lo assim
	object[,] tab = new object[NUM_COLUNAS_TABELA,resultados.Count];

	int i=0;
	foreach(ESTRUTURA estrutura in resultados)
	{
		tab[0,i] = estrutura.ID;
		tab[1,i] = estrutura.X;
		etc...
		i++;
	}
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
finally
{
conn.Close();
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora