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

gadNY

dataSet

10 mensagens neste tópico

boas, tenho uma dataset a preencher uma datagrid, ela preenche tudo direito, mas depois quero enviar para as texts do outro form, eu estava a usar este codigo e fazia tudo direito:

int Colunas = dreader.FieldCount;
                for (int i = 0; i  < Colunas; i++)
                {
                    passar[i] = datagridpesq.Rows[datagridpesq.SelectedRows[0].Index].Cells[i].Value.ToString();
                }
                this.Hide();
                profs.Show();
                profs.eliminar.Enabled = true;
                profs.alterar.Enabled = true;
                profs.txt_nome.Enabled = true;
                profs.txt_nome.Text = passar[0];
                profs.txt_idade.Enabled = true;
                profs.txt_idade.Text = passar[1];
                profs.txt_morada.Enabled = true;
                profs.txt_morada.Text = passar[2];
                profs.txt_telefone.Enabled = true;
                profs.txt_telefone.Text = passar[3];
                profs.combo_area.Enabled = true;
                profs.combo_area.Text = passar[4];

mas eu queria preencher com o dataset, tem alguma coisa a ver com este codigo?

nome do form.nome do objecto.Text = dataSet["nome do campo"];

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para acederes aos dados do dataSet podes fazer assim

dataSet.Tables[0].Rows[iDX_LINHA]["NOME_COLUNA"].ToString();

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

dataSet.Tables[0].Rows[iDX_LINHA]["NOME_COLUNA"].ToString();

e o que devo meter no tables, rows,nomedacoluna ?

nao e suposto ele ir buscar automaticamente ? :x

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

No tables deixas estar como está (partindo do principio que só tens uma tabela no DataSet), no idx_linha metes o índice da linha que pretendes apresentar e o nome da coluna é o nome do campo que pretendes apresentar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

No tables deixas estar como está (partindo do principio que só tens uma tabela no DataSet), no idx_linha metes o índice da linha que pretendes apresentar e o nome da coluna é o nome do campo que pretendes apresentar.

No tables da-me erro :x

sera que este funciona ?

alunos.txt_nome.Text = dataSet.TableName[nomedatabela]Rows[0]["nomedocampo"].ToString();

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

profs.txt_nome.DataBindings.Add("Text", dataSet, "nomeprof");

consegui com isto, obrigado : D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o problema e que com isto nao consigo ir buscar campos de outras tabelas :x

Será do comando SQL ?

"SELECT nomeuser,username,nome,nomeprof FROM utilizadores,alunos,professores"

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

SELECT nome,idade,telefone,morada,anoturma,nometurma,nomearea FROM alunos,turmas,areas WHERE alunos.id_turma = turmas.id_turma AND turmas.id_area = areas.id_area AND nome LIKE @nome OR idade LIKE @idade

eu tenho este select, ele mostra os campos todos da tabela alunos direito, mas o "nomearea" ele mostra sempre o 1 que esta na tabela areas, mas so se pesquisar por idade, se pesquisar por nome aparece direito :X

cmd.Parameters.Add("@nome", SqlDbType.NVarChar).Value = txtinserir.Text + "%";
                    cmd.Parameters.Add("@idade", SqlDbType.NVarChar).Value = txtinserir.Text + "%"; 
                    SqlDataAdapter adapter = new SqlDataAdapter();
                    adapter.SelectCommand = cmd;
                    // Fill the DataSet.
                    DataTable dataSet = new DataTable();
                    adapter.Fill(dataSet);
                    datagridpesq.DataSource = dataSet;

o codigo para ir buscar os dados e inserir no dataset e este .

alguem consegue ver onde esta o erro ? :X

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Experimenta a colocar parêntesis no OR da tua consulta, tipo isto:

SELECT nome,idade,telefone,morada,anoturma,nometurma,nomearea 
FROM alunos,turmas,areas 
WHERE alunos.id_turma = turmas.id_turma 
AND turmas.id_area = areas.id_area 
AND (nome LIKE @nome OR idade LIKE @idade)

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