Jump to content

Recommended Posts

Posted

Pessoal... este código que vou postar em baixo nao deveria preencher a tabela toda com os valores do reader??

command = New SqlCommand("SELECT Data1,Data2 FROM Teste WHERE Codigo ='" & teste.TextBox2.Text & "'", connect)
        reader = command.ExecuteReader
        Dim tabela As New DataTable
        tabela.Load(reader)

É que depois faço um teste e ele só tem dados na row(0) e na row(1) e sao os ultimos dados lidos no reader... os primeiros nao ficam.

Posted

Tipo isto

Dim Da As New SqlClient.SqlDataAdapter("Consulta SQL", "Conecção à Base de Dados")
Dim Dt As New DataTable
Da.Fill(Dt)

Pedro Martins

Não respondo a duvidas por PM

Posted

era suposto ao fazer este codigo ela dar resultados... certo?

For Each row2 As DataRow In tabela.Rows
            TextBox5.Text = row2(2) & " ------- " & row2(3)
        Next

eu tenho pelo menos 6 dados que o meu select deveria retornar...

Posted

mas nao retorna nada... lol fica a textbox vazia...

Dim command2 As New SqlClient.SqlDataAdapter("SELECT DataI,Sintomatologia FROM Consulta WHERE Codigo ='" & menuconsulta.TextBox2.Text & "'", connect)
Dim tabela As New DataTable
command2.Fill(tabela)

For Each row As DataRow In tabela.Rows
            TextBox5.Text = row(2) & " ------- " & row(3)
Next
Posted

está a retornar a 2 linhas

passo a explicar... na minha tabela sql tem varios codigos iguais (que tenho que ter), e ao encontrar esse codigo ele deveria tirar data e sintomas.

Tipo:

Codigo      Data      Sintomas

1              23-02    X

1              24-02    Y

2              24-02    Z

1              25-02    Q

Com o código que eu estou a fazer ele retorna a data da primeira linha e o sintoma da 2ª, ao pesquisar por codigo = 1. Porque será?

Posted

NOTA: quando fazia com executereader ele sacava os dados todos... so q eu n colocava numa datatable... mas agora preciso ... basicamente preciso d criar a datatable com 2 colunas... e escrever o reader(0) e o reader(1) em colunas A,B... em ciclo enquanto reader.read

Como se faz isto?

Posted
Dim aux As Integer = 0
        For Each row As DataRow In tabela.Rows
            'TextBox5.Text = row(aux)
            MsgBox(row(aux))
            aux += 1
        Next

Só imprime 2 valores... quando deveria imprimir 6!

Posted

e pior... o select pede 2 campos quando o codigo é 1...

ele envia o 1º campo da primeira vez q encontra o codigo 1

e o 2º campo da segunda vez q encontra o codigo 1

qnd deveria mandar 1º e 2º campos mal encontrasse o codigo 1

Posted
        For Each dr As DataRow In DT.Rows
            MsgBox(dr(0)) 'Devolve o registo da coluna 0 não o registo da linha 0..
        Next

Isto é um For Each não é um For normal

Pedro Martins

Não respondo a duvidas por PM

Posted

entendi... 🙂 obrigado...

ha maneira de aceder a uma linha especifica para sacar os dados sem correr um ciclo for?

tipo... imagina que quero a primeira linha da tabela (coluna 1 e 2) para uma textbox. posso fazer isto?

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.