Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/07/2009, 09:49
alexmc
 
Fecha de Ingreso: diciembre-2007
Mensajes: 4
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Problematica con datareader..creo...

Encontre en msdn que deberia de tener el codigo Dim dreader As SqlDataReader = comando.ExecuteReader en vez de solo declarar a dreader como sqldatareader pero me sigue guardando el query en vez de los valores de cada campo de el query, espero que alguien me ayude, saludos.



Const FILE_NAME As String = "MyFile.txt"
If File.Exists(FILE_NAME) Then
Console.WriteLine("{0} already exists.", FILE_NAME)
Return
End If
Using sw As StreamWriter = File.CreateText(FILE_NAME)



Dim query As String = "SELECT F4211A.SDAN8, F4211A.SDLITM, (F4211A.SDDSC1+'-'+F4211A.SDDSC2), F4211A.SDSOQS, F4211A.SDAPUM, (F4211A.SDLPRC/10000), cast((F4074A.ALFVTR/10000) as varchar), cast( (SELECT (F4074AB.ALFVTR/10000) FROM " + BDowner1 + ".F4074 F4074AB WHERE F4074AB.ALDOCO=F4211A.SDDOCO AND F4074AB.ALDCTO=F4211A.SDDCTO AND F4074AB.ALKCOO=F4211A.SDKCOO AND F4074AB.ALLNID =F4211A.SDLNID AND F4074AB.ALOSEQ>=20 AND F4074AB.ALOSEQ<=50) as varchar), (F4211A.SDUPRC/10000), (F4211A.SDAEXP/100), (SELECT F58STATAB.STDSC1 FROM " + BDowner1 + ".F58STAT F58STATAB WHERE F4211A.SDLTTR=F58STATAB.STLTTR AND F4211A.SDNXTR=F58STATAB.STNXTR)FROM " + BDowner1 + ".F4211 F4211A INNER JOIN " + BDowner1 + ".F4074 F4074A ON F4074A.ALDOCO=F4211A.SDDOCO AND F4074A.ALDCTO=F4211A.SDDCTO AND F4074A.ALKCOO=F4211A.SDKCOO AND F4074A.ALLNID =F4211A.SDLNID WHERE F4211A.SDKCOO = " & Compania & " AND F4211A.SDMCU='" & Almacen & "' AND F4074A.ALOSEQ>0 AND F4074A.ALOSEQ<20 AND F4211A.SDDOCO='" & TxtPedFact.Text.Trim & "'"
'son 8 campos
Dim campos As Integer
Dim resultado As String = ""
Dim conn As New SqlConnection
Dim comando As New SqlCommand(query, conn)




Try
If (conn.State = ConnectionState.Closed) Then
conn.Open()

End If
'comando.ExecuteReader()
Dim dreader As SqlDataReader = comando.ExecuteReader
If (dreader.Read()) Then
For campos = 0 To 7
resultado += dreader.GetValue(campos) + "\t"
Next

End If

Catch ex As Exception
Finally
conn.Close()
End Try


' sw.WriteLine("This is my file.")
' sw.WriteLine("I can write ints {0} or floats {1}, and so on.", 1, 4.2)
sw.WriteLine(query)
sw.Close()
End Using