dipacheco Posted March 2, 2011 at 10:13 AM Report #372206 Posted March 2, 2011 at 10:13 AM 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.
Caça Posted March 2, 2011 at 10:27 AM Report #372211 Posted March 2, 2011 at 10:27 AM Porque é que não preenches directamente o DataTable através de um DataAdatpter? Pedro Martins Não respondo a duvidas por PM
dipacheco Posted March 2, 2011 at 10:31 AM Author Report #372212 Posted March 2, 2011 at 10:31 AM nao sei fazer isso! LOL por isso é q n fiz!
Caça Posted March 2, 2011 at 10:42 AM Report #372216 Posted March 2, 2011 at 10:42 AM 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
dipacheco Posted March 2, 2011 at 10:47 AM Author Report #372217 Posted March 2, 2011 at 10:47 AM 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...
Caça Posted March 2, 2011 at 10:49 AM Report #372219 Posted March 2, 2011 at 10:49 AM Certo Pedro Martins Não respondo a duvidas por PM
dipacheco Posted March 2, 2011 at 10:54 AM Author Report #372220 Posted March 2, 2011 at 10:54 AM 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
Caça Posted March 2, 2011 at 10:57 AM Report #372222 Posted March 2, 2011 at 10:57 AM Quantas linhas está a retornar? Verifica se está a entrar no ciclo. Pedro Martins Não respondo a duvidas por PM
dipacheco Posted March 2, 2011 at 11:03 AM Author Report #372223 Posted March 2, 2011 at 11:03 AM 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á?
Caça Posted March 2, 2011 at 11:04 AM Report #372224 Posted March 2, 2011 at 11:04 AM Os indexes começam em zero Pedro Martins Não respondo a duvidas por PM
dipacheco Posted March 2, 2011 at 11:05 AM Author Report #372225 Posted March 2, 2011 at 11:05 AM 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?
dipacheco Posted March 2, 2011 at 11:06 AM Author Report #372226 Posted March 2, 2011 at 11:06 AM mesmo começando em zero deveria dar algo... como posso imprimir a tabela toda?
Caça Posted March 2, 2011 at 11:13 AM Report #372228 Posted March 2, 2011 at 11:13 AM Já te certificaste se está a entrar no ciclo? Pedro Martins Não respondo a duvidas por PM
dipacheco Posted March 2, 2011 at 11:14 AM Author Report #372229 Posted March 2, 2011 at 11:14 AM 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!
dipacheco Posted March 2, 2011 at 11:17 AM Author Report #372230 Posted March 2, 2011 at 11:17 AM 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
Caça Posted March 2, 2011 at 11:18 AM Report #372231 Posted March 2, 2011 at 11:18 AM Sabes o que estás a fazer?? Pedro Martins Não respondo a duvidas por PM
dipacheco Posted March 2, 2011 at 11:19 AM Author Report #372232 Posted March 2, 2011 at 11:19 AM como assim? lol eu fiz o q m disseste para fazer com o sqldataadapter... basicamente. pensei q preenchesse a tabela toda qnd fiz command2.fill(tabela) e nao o está a fazer.
Caça Posted March 2, 2011 at 11:20 AM Report #372233 Posted March 2, 2011 at 11:20 AM 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
dipacheco Posted March 2, 2011 at 11:26 AM Author Report #372234 Posted March 2, 2011 at 11:26 AM 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?
Caça Posted March 2, 2011 at 11:31 AM Report #372235 Posted March 2, 2011 at 11:31 AM TextBox1.Text = DT.Rows(0)(0) & "-----" & DT.Rows(0)(1) Pedro Martins Não respondo a duvidas por PM
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now