ComboBox con DataSet

16/02/2004 - 17:54 por Andrés | Informe spam
Hola a Todos...

Mi problema es el siguiente...

Tengo un desarrollo en VB .net el cual lo trabajo en una maquina con XP
Professional, en esta maquina funciona correctamente, ya genere el paquete
de instalacion, instalo la aplicacion en otra maquina con el mismo SO, esta
maquina ya tiene instalado el NetFramework... mi problema radica que en la
maquina de desarrollo cuando hago una consulta y obtengo mi DataSet este lo
asigno a un ComboBox y no tengo problemas, este es el codigo.

Dim objCorrida As New BusinessLogic.Corrida()
Dim accessconnect As DataAcces.DataAccessSQL

accessconnect = New DataAcces.DataAccessSQL(Usuario.mServer,
Usuario.DataBase, _

Usuario.LoginUser, Usuario.LoginPass)

With cboZafra
.DataSource = objCorrida.LeeZafra(accessconnect.Conexion).Tables(0)

If .Items.Count = 0 Then < VALIDACION
MessageBox.Show("No hay Zafras dadas de alta, por favor ingrese
alguna para capturar una Corrida.", Me.Text, MessageBoxButtons.OK,
MessageBoxIcon.Warning)
btnModify.PerformClick()
Flag_Exit = True
Exit Sub
End If

.DisplayMember = "Zafra"
.ValueMember = "Control"
.SelectedIndex = -1
End With


ESTO ESTA EN OBJCORRIDA

Public Function LeeZafra(ByVal dConecta As SqlClient.SqlConnection) As
DataSet
Dim strSQL As String
Dim dsZafra As New Data.DataSet()
Dim daZafra As SqlClient.SqlDataAdapter

strSQL = "SELECT c_Id as Control, " & _
"(cast(cast(c_Zafra as int) as char(4)) + '/' + CAST((c_zafra +1) as
char(4)) + ' ' + cat_I_Id) AS Zafra " & _
"FROM Corrida " & _
"WHERE c_status = 0"

Try
daZafra = New SqlClient.SqlDataAdapter(strSQL, dConecta)
daZafra.Fill(dsZafra, "Zafras")
Return dsZafra
Catch eErrorDatos As Exception
Throw
End Try
End Function


pero cuando corro la aplicacion ya instalada en la otra maquina, en el
punto de la validacion de los elementos del Combo resulta que no hay
elementos y se muestra el mensaje, ya modifique varias veces el codigo con
diferentes metodos que he encontrado pero me pasa lo mismo y la verdad ya no
se que puedo hacer.

De antemano gracias por la ayuda prestada...
 

Leer las respuestas

#1 Marino Posadas
04/03/2004 - 22:10 | Informe spam
Sólo una cosa, no será parte de una aplicación ASP, verdad? Es que si te
aparece la primera vez y luego no...o eso, o que tu código pasa por alguna
parte que "limpia" el combo.


Saludos cordiales
Marino Posadas
MVP .NET Framework

www.ElAveFenix.net

"Andrés" escribió en el mensaje
news:u7L$od7%
Hola ...

Si he puesto el break point en esa parte y al checar cuentos elementos
contiene el dsZafra, me dice la cantidad, pero despues de asignarlo al


combo
y entonces verificar el numero de elementos de este, el combo dice que no
tiene elementos... hice la prueba poniendo otro combo y llenandolo con la
misma informacion, la primera vez si la muestra pero despues hace lo mismo
que el otro combo..

Gracias...
-

"Marino Posadas" escribió en el mensaje
news:Oanp5Dy%
> Hola Andrés
>
> ¿Has probado a poner un punto de ruptura en -Return dsZafra- y ver si el
> DataSet devuelve algo realmente? Sería un buen punto de partida.
>
>
> Saludos cordiales
> Marino Posadas
> MVP .NET Framework
>
> www.ElAveFenix.net
>
>
>
> PD: Por favor, tomad nota de mi nueva dirección de correo. La actual
dejará
> de estar operativa muy pronto.
>
>
> Saludos cordiales
> Marino Posadas
> MVP .NET Framework
>
>
> "Andrés" escribió en el mensaje
> news:
> > Hola a Todos...
> >
> > Mi problema es el siguiente...
> >
> > Tengo un desarrollo en VB .net el cual lo trabajo en una maquina con
XP
> > Professional, en esta maquina funciona correctamente, ya genere el
paquete
> > de instalacion, instalo la aplicacion en otra maquina con el mismo SO,
> esta
> > maquina ya tiene instalado el NetFramework... mi problema radica que e


n
la
> > maquina de desarrollo cuando hago una consulta y obtengo mi DataSet


este
> lo
> > asigno a un ComboBox y no tengo problemas, este es el codigo.
> >
> > Dim objCorrida As New BusinessLogic.Corrida()
> > Dim accessconnect As DataAcces.DataAccessSQL
> >
> > accessconnect = New DataAcces.DataAccessSQL(Usuario.mServer,
> > Usuario.DataBase, _
> >
> > Usuario.LoginUser, Usuario.LoginPass)
> >
> > With cboZafra
> > .DataSource > objCorrida.LeeZafra(accessconnect.Conexion).Tables(0)
> >
> > If .Items.Count = 0 Then < VALIDACION
> > MessageBox.Show("No hay Zafras dadas de alta, por favor
ingrese
> > alguna para capturar una Corrida.", Me.Text, MessageBoxButtons.OK,
> > MessageBoxIcon.Warning)
> > btnModify.PerformClick()
> > Flag_Exit = True
> > Exit Sub
> > End If
> >
> > .DisplayMember = "Zafra"
> > .ValueMember = "Control"
> > .SelectedIndex = -1
> > End With
> >
> >
> > ESTO ESTA EN OBJCORRIDA
> >
> > Public Function LeeZafra(ByVal dConecta As SqlClient.SqlConnection)


As
> > DataSet
> > Dim strSQL As String
> > Dim dsZafra As New Data.DataSet()
> > Dim daZafra As SqlClient.SqlDataAdapter
> >
> > strSQL = "SELECT c_Id as Control, " & _
> > "(cast(cast(c_Zafra as int) as char(4)) + '/' + CAST((c_zafra


+1)
as
> > char(4)) + ' ' + cat_I_Id) AS Zafra " & _
> > "FROM Corrida " & _
> > "WHERE c_status = 0"
> >
> > Try
> > daZafra = New SqlClient.SqlDataAdapter(strSQL, dConecta)
> > daZafra.Fill(dsZafra, "Zafras")
> > Return dsZafra
> > Catch eErrorDatos As Exception
> > Throw
> > End Try
> > End Function
> >
> >
> > pero cuando corro la aplicacion ya instalada en la otra maquina, en


el
> > punto de la validacion de los elementos del Combo resulta que no hay
> > elementos y se muestra el mensaje, ya modifique varias veces el codigo
con
> > diferentes metodos que he encontrado pero me pasa lo mismo y la verdad
ya
> no
> > se que puedo hacer.
> >
> > De antemano gracias por la ayuda prestada...
> >
> >
> >
> >
>
>


Preguntas similares