Hola freegirl!
Cuanto tiempo
Anda! Pero si eres "Colaborador"! Felicidades!
En principio ya lo tengo funcionando de la forma que dije que SI funciona.
Pero he querido insistir con este tema, y acabo de realizar las pruebas que comentas.
En principio no he tenido éxito con ninguna de ellas ya que, tanto GetString como GetValue, esperan como parámetro un Integer, y no un nombre de campo.
Y por este hecho me dan error las dos opciones, porqué intenta convertir un String (nombre del campo) a un Integer (parámetro que está esperando la funcion).. No puedorrr Jarl!!!
Pero... ¿¿¿Dices que a ti te ha funcionado el caso tal cual lo puse???
Yo lo veo muy obvio tambiém, y estoy casi seguro de haberlo usado otras veces así, pero en este caso no entiendo por qué no me deja.
Voy a poner todo el código, a ver si alguien ve algo "extraño"
Código:
Dim miConn As New OleDbConnection(Datos.ConnStr)
Dim miCM As New OleDbCommand("SELECT Tarifa, [Grupo Descuento] AS GrupoDescuento FROM Clientes WHERE Codigo = '" & CodigoCliente & "'", miConn)
Dim sSQL As String
miConn.Open()
Dim dR As OleDbDataReader = miCM.ExecuteReader
If dR.Read Then
Dim miTarifa As String = dR("Tarifa")
Dim miGrupoDescuento As String = dR("GrupoDescuento")
miConn.Dispose()
Else
miConn.Dispose()
Throw New Exception("El cliente especificado no existe.")
End If
Cuando depuro este código, intento obtener el valor de cada una de las variables una vez ha pasado por esas líneas, y veo lo siguiente:
- No se ha declarado el nombre 'miTarifa'
En cambio, declarando la variable antes, y sustituyendo esta línea por
miTarifa = dR("Tarifa")
Si que toma el valor correctamente, y cuando depuro y obtengo el valor de la variable, en este caso me muestra una "A" como debe ser, y no el mensaje que muestra en el caso anterior.
Muchas gracias y saludos!