Foros del Web » Programación para mayores de 30 ;) » .NET »

solo me trae un mensaje cuando deberia ser varios en msgbox

Estas en el tema de solo me trae un mensaje cuando deberia ser varios en msgbox en el foro de .NET en Foros del Web. pues miren tengo un programa que me conecta con una procedimiento almacenado y que envia los parametros y conexion y todo pero tengo este algoritmo ...
  #1 (permalink)  
Antiguo 30/05/2011, 14:24
 
Fecha de Ingreso: enero-2011
Ubicación: medellin
Mensajes: 194
Antigüedad: 13 años, 11 meses
Puntos: 0
solo me trae un mensaje cuando deberia ser varios en msgbox

pues miren tengo un programa que me conecta con una procedimiento almacenado y que envia los parametros y conexion y todo pero tengo este algoritmo que deberia traerme varios mensajes cuando ejecuta el procedimiento pero siempre me trae el primero aca les paso el codigo


cnn.Open()
' cmd.ExecuteNonQuery()
Dim Reader As SqlDataReader
Reader = cmd.ExecuteReader()
Dim RecordCount As Integer = 0
Dim Records As String
Records = ""
While Reader.Read()

Dim i As Integer = 0
For i = 0 To Reader.FieldCount - 1
Records = Reader(i) & " - "

Next
RecordCount += 1
End While

como puede hacer para que me traiga los mensajes

los mensajes eran print pero los cambie por un select
  #2 (permalink)  
Antiguo 30/05/2011, 14:36
Avatar de ramirezmario7  
Fecha de Ingreso: febrero-2008
Ubicación: Medellín
Mensajes: 336
Antigüedad: 16 años, 10 meses
Puntos: 56
Respuesta: solo me trae un mensaje cuando deberia ser varios en msgbox

hola
Lo que veo es que estas llevando los mensajes a la variable Records.
pero lo que pasa es que tines esta instruccion

While Reader.Read()

Dim i As Integer = 0
For i = 0 To Reader.FieldCount - 1
Records = Reader(i) & " - "

Next
RecordCount += 1
End While

prueba cambiandola por esta

Dim i As Integer = 0
While Reader.Read()

Records = Reader(i) & " - "
i += i+1

Next
RecordCount += 1
End While

mira bien la instruccion a ver si te ayuda, yo programo en C# pero puede que te de una idea con eso.

me imagino que el Next es del for, si es asi quitalo de la instruccion
  #3 (permalink)  
Antiguo 30/05/2011, 14:42
 
Fecha de Ingreso: enero-2011
Ubicación: medellin
Mensajes: 194
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: solo me trae un mensaje cuando deberia ser varios en msgbox

gracias por responder pero no dio D:
  #4 (permalink)  
Antiguo 30/05/2011, 14:53
Avatar de ramirezmario7  
Fecha de Ingreso: febrero-2008
Ubicación: Medellín
Mensajes: 336
Antigüedad: 16 años, 10 meses
Puntos: 56
Respuesta: solo me trae un mensaje cuando deberia ser varios en msgbox

No has intentado cambiar el DataReader por un DataSet

y con el DataSet puedes hacer lo siguiente

if (Ds.Tables.Count > 0)
{
for (int f = 0; f < Ds.Tables.Count; f++)
{
Records += Ds.Tables[f].Rows[0][0].ToString()+"-";
}
}

Haciendo esto me doy cuanta que en la instruccion
Records = Reader(i) & " - "
Siempre esta reemplazando la informacion que tiene.

puedes probar
Records += Reader(i) & " - "

o prueba con el DataSet
  #5 (permalink)  
Antiguo 30/05/2011, 14:56
 
Fecha de Ingreso: enero-2011
Ubicación: medellin
Mensajes: 194
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: solo me trae un mensaje cuando deberia ser varios en msgbox

lo siento uso el visual basic 2008 y hay no coje el dataset :S
  #6 (permalink)  
Antiguo 30/05/2011, 15:06
Avatar de ramirezmario7  
Fecha de Ingreso: febrero-2008
Ubicación: Medellín
Mensajes: 336
Antigüedad: 16 años, 10 meses
Puntos: 56
Respuesta: solo me trae un mensaje cuando deberia ser varios en msgbox

Voy a mirar como hacerlo con el DataReader
  #7 (permalink)  
Antiguo 30/05/2011, 15:16
Avatar de ramirezmario7  
Fecha de Ingreso: febrero-2008
Ubicación: Medellín
Mensajes: 336
Antigüedad: 16 años, 10 meses
Puntos: 56
Respuesta: solo me trae un mensaje cuando deberia ser varios en msgbox

He estado mirando y solo me coge la primera consulta con el reader.

revisa este link
http://vb.net-informations.com/datas...-sqlserver.htm

para que mires como seria con el DataSet
  #8 (permalink)  
Antiguo 30/05/2011, 15:40
 
Fecha de Ingreso: enero-2011
Ubicación: medellin
Mensajes: 194
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: solo me trae un mensaje cuando deberia ser varios en msgbox

gracias por el link tratare de usarlo para ver si me funciona
  #9 (permalink)  
Antiguo 30/05/2011, 15:45
Avatar de ramirezmario7  
Fecha de Ingreso: febrero-2008
Ubicación: Medellín
Mensajes: 336
Antigüedad: 16 años, 10 meses
Puntos: 56
Respuesta: solo me trae un mensaje cuando deberia ser varios en msgbox

Estuve consultando lo del DataReader y encontre como hacer con varios select.


var moreResults = true;

while (moreResults)
{
while (dr.Read())
{
Records += dr[0].ToString();
}
moreResults = dr.NextResult();
}
  #10 (permalink)  
Antiguo 30/05/2011, 15:54
 
Fecha de Ingreso: enero-2011
Ubicación: medellin
Mensajes: 194
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: solo me trae un mensaje cuando deberia ser varios en msgbox

Cita:
Iniciado por ramirezmario7 Ver Mensaje
Estuve consultando lo del DataReader y encontre como hacer con varios select.


var moreResults = true;

while (moreResults)
{
while (dr.Read())
{
Records += dr[0].ToString();
}
moreResults = dr.NextResult();
}
disculpa eso es C# yo trabajo en visual basic
  #11 (permalink)  
Antiguo 30/05/2011, 15:59
Avatar de ramirezmario7  
Fecha de Ingreso: febrero-2008
Ubicación: Medellín
Mensajes: 336
Antigüedad: 16 años, 10 meses
Puntos: 56
Respuesta: solo me trae un mensaje cuando deberia ser varios en msgbox

cnn.Open()
Dim Reader As SqlDataReader
Reader = cmd.ExecuteReader()
Dim RecordCount As Integer = 0
Dim Records As String
Records = ""

Dim moreResult As var = True

While morResult

While Reader.Read()


Records += Reader(i) & " - "


RecordCount += 1
End While
moreResult = Reader.NextResult
End While

prueba asi, nose si estara bueno

revisa esto para convertir codigo de c# a vb
http://www.carlosag.net/Tools/CodeTranslator/
  #12 (permalink)  
Antiguo 31/05/2011, 07:30
 
Fecha de Ingreso: enero-2011
Ubicación: medellin
Mensajes: 194
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: solo me trae un mensaje cuando deberia ser varios en msgbox

muchas gracias ramirez tu ayuda me fue muy util ya lo termine aca paso el codigo por si alguien tiene el mismo problema mio

Dim command As SqlCommand
Dim adapter As New SqlDataAdapter
Dim ds As New DataSet


cnn.Open()
command = New SqlCommand(obj, cnn)
adapter.SelectCommand = command
adapter.Fill(ds)
adapter.Dispose()
command.Dispose()

Dim texto As String
texto = ""

Dim tabla As DataTable

For Each tabla In ds.Tables
texto = texto + " -- " + tabla.Rows(0).Item(0).ToString()
Next tabla

MsgBox(texto)

Etiquetas: mensaje, msgbox
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:59.