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

Recuperar NOmbre por ID

Estas en el tema de Recuperar NOmbre por ID en el foro de .NET en Foros del Web. Estimados: estoy haciendo una funcion para rescatar el nombre de una empresa por su id el id es un string y el nombre igual Estoy ...
  #1 (permalink)  
Antiguo 20/11/2009, 14:45
 
Fecha de Ingreso: octubre-2009
Mensajes: 63
Antigüedad: 14 años, 6 meses
Puntos: 0
Recuperar NOmbre por ID

Estimados:

estoy haciendo una funcion para rescatar el nombre de una empresa por su id
el id es un string y el nombre igual
Estoy trabajando en vb.net con sqlserver2000

¿Que estoy haciendo mal?

Public Function getRecuperarNombrePorIdEmpresa(ByVal id As String) As String
Dim val As String = New String("")
Me.configurarConexion()
cnn.setNombreTabla("EMPRESA_PULLMAN")
cnn.setCadenaSQL("Select NOMBRE from EMPRESA_PULLMAN Where empresa = '" & id & "'")
cnn.setEsSelect(True)
cnn.conectar()
For Each dr As System.Data.DataRow In cnn.getDbDataSet.Tables(cnn.getNombreTabla()).Rows
val = (dr(0))
Next
Return val
End Function

y no me retorna nada
  #2 (permalink)  
Antiguo 20/11/2009, 15:55
Avatar de JxDarkAngel  
Fecha de Ingreso: septiembre-2009
Mensajes: 82
Antigüedad: 14 años, 7 meses
Puntos: 2
Respuesta: Recuperar NOmbre por ID

Checa primero si tu variable id esta recibiendo algun valor, de lo contrario no te soltara ningun registro. Intenta mandar a imprimir el valor de tu variable id despues de que hace la consulta para saber con que valor esta igualandolo a tu consulta
  #3 (permalink)  
Antiguo 20/11/2009, 16:13
Avatar de Darkavender  
Fecha de Ingreso: septiembre-2008
Ubicación: SLV
Mensajes: 125
Antigüedad: 15 años, 7 meses
Puntos: 4
Respuesta: Recuperar NOmbre por ID

Me imagino que ya probaste la consulta en la consola de SQL?


Y si usas un DataReader, para recuperar el resultado del QueryString...
  #4 (permalink)  
Antiguo 23/11/2009, 16:10
 
Fecha de Ingreso: octubre-2009
Mensajes: 63
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Recuperar NOmbre por ID

Gracias por contestar

la query esta bien, pero no rescata el id.

Me dice "la funcion no devuelve un valor en todas sus rutas de acceso al codigo, podria darse una excepcion de referencia Nula en tiempo de Ejecución cuando se utilice el resultado."

Espero tu ayuda
  #5 (permalink)  
Antiguo 23/11/2009, 20:42
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: Recuperar NOmbre por ID

Cita:
Dim val As String = New String("")
¿Por qué haces una instancia de String?

Cita:
"la funcion no devuelve un valor en todas sus rutas de acceso al codigo, podria darse una excepcion de referencia Nula en tiempo de Ejecución cuando se utilice el resultado."


Esto te sale en tiempo de ejecución o diseño??
Haz la conversión y pruebalo.
Código vb.net:
Ver original
  1. For Each dr As System.Data.DataRow In cnn.getDbDataSet.Tables(cnn.getNombreTabla()).Rows
  2. val = Convert.ToString(dr(0))
  3. Next

Saludos.
__________________
Eduardo Peredo
Wigoin
  #6 (permalink)  
Antiguo 24/11/2009, 06:26
 
Fecha de Ingreso: octubre-2009
Mensajes: 63
Antigüedad: 14 años, 6 meses
Puntos: 0
De acuerdo Respuesta: Recuperar NOmbre por ID

Gracias Eduardo Peredo, siempre ayudandome

Mira y pasa eso mismo, me lo marca en tiempo de diseño y en tiempo de ejecucion no devuelve nada

Public Function getRecuperarIdEmpresaPorNombre(ByVal nombre As String) As String
Me.configurarConexion()
cnn.setNombreTabla("EMPRESA_PULLMAN")
cnn.setCadenaSQL("Select Empresa FROM EMPRESA_PULLMAN WHERE NOMBRE = '" & nombre & "'")
cnn.setEsSelect(True)
cnn.conectar()
For Each dr As System.Data.DataRow In cnn.getDbDataSet.Tables(cnn.getNombreTabla).Rows
Return CStr(dr(0))
Next
End Function

Me da la misma advertencia que el codigo de arriba.

"la funcion no devuelve un valor en todas sus rutas de acceso al codigo, podria darse una excepcion de referencia Nula en tiempo de Ejecución cuando se utilice el resultado."


Ojala me ayudes

Gracias
  #7 (permalink)  
Antiguo 24/11/2009, 08:06
Avatar de Darkavender  
Fecha de Ingreso: septiembre-2008
Ubicación: SLV
Mensajes: 125
Antigüedad: 15 años, 7 meses
Puntos: 4
Respuesta: Recuperar NOmbre por ID

Prueba con un data reader...

debes tener el Conection string declarado previamente...

Código:
Dim CmdIdRdNombreEmpresa As New Command("Select Empresa FROM EMPRESA_PULLMAN WHERE NOMBRE = '" & nombre & "'", Conex)

Dim RdidEmpresa As DataReader
            Conex.Open()
            RdidEmpresa = CmdIdRdNombreEmpresa.ExecuteReader
            RdidEmpresa.Read()

            Empresa = RdidEmpresa(0)
             
             Conex.Close()
  #8 (permalink)  
Antiguo 24/11/2009, 08:30
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: Recuperar NOmbre por ID

Ahora que veo bien el código, esa consulta siempre devolverá un sólo registro por lo que no veo la necesidad de hacer un For Each.
Me parece que no están llegando los valores, haz lo sgte
Código vb.net:
Ver original
  1. MessageBox.Show(Convert.ToString(dr(0)))
  2. Return CStr(dr(0))
Creo que sabes que hace ese código.
Cualquier problema nos cuentas
__________________
Eduardo Peredo
Wigoin
  #9 (permalink)  
Antiguo 26/11/2009, 09:00
 
Fecha de Ingreso: octubre-2009
Mensajes: 63
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Recuperar NOmbre por ID

Si se lo que hace.... Dejame probarlo y te cmunico

Gracias otra ves
  #10 (permalink)  
Antiguo 27/11/2009, 09:02
 
Fecha de Ingreso: octubre-2009
Mensajes: 63
Antigüedad: 14 años, 6 meses
Puntos: 0
De acuerdo Respuesta: Recuperar NOmbre por ID

Me funciono perfectamente.,..
muchas gracias.

Miren este codigo

Mid(codigo(frmDatosBasicos.cboDestino, 10), 1, 2)

Resulta que el comboBox lo reemplaze por un ComboOCx que tiene las siguientes propiedades

Causes Validation
Codigo comboBox
Container
Datos Manuales
Drag
DragIcon
DragMode
Height
index left
move
name
object
TabIndex
Parent
TabStop
RetornaCodigo
RetornaDescripcion
tag
Top
TolTipText
With
Visible

Y no se como reemplzar esa linea de codigo, esto es VB6 con sqlServer 2000

Como lo hago, necesito su ayuda


Saludos EPeredo
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 10:38.