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

[SOLUCIONADO] el argumento 'prompt' no se puede convertir en el tipo 'string'.

Estas en el tema de el argumento 'prompt' no se puede convertir en el tipo 'string'. en el foro de .NET en Foros del Web. Hola Estoy haciendo una aplicación en la que tengo que recoger valores mediante un select y estos guardarlos en un array. Esto es lo que ...
  #1 (permalink)  
Antiguo 12/04/2013, 06:04
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años, 1 mes
Puntos: 7
Exclamación el argumento 'prompt' no se puede convertir en el tipo 'string'.

Hola
Estoy haciendo una aplicación en la que tengo que recoger valores mediante un select y estos guardarlos en un array.

Esto es lo que hago:
Código vb.net:
Ver original
  1. Protected Function calculoFechaHorasReales(ByRef numoperario As Integer, ByVal fechaActual As String)
  2.         Dim sql, ano, mes, fecha As String
  3.         Dim ar As String()
  4.  
  5.         ano = Year(fechaActual)
  6.         mes = Month(fechaActual)
  7.  
  8.         If mes > 9 Then
  9.             fecha = ano + mes
  10.         Else
  11.             fecha = ano + "0" + mes
  12.         End If
  13.  
  14.         sql = "select distinct ldate AS e from sapsr3.teven"
  15.         sql = sql + " where pernr like '%9152%' and ldate like '" & fecha & "%'"
  16.         sql = sql + " order by ldate desc"
  17.  
  18.         Dim conn As New OracleConnection()
  19.         conn.ConnectionString = ConfigurationManager.ConnectionStrings("conexionOracleDesa").ConnectionString.ToString
  20.  
  21.         Try
  22.  
  23.             Using conn
  24.  
  25.                 conn.Open()
  26.                 Dim comm1 As New OracleCommand(sql, conn)
  27.                 Dim reader1 As OracleDataReader
  28.                 With comm1
  29.                     reader1 = .ExecuteReader()
  30.                     While reader1.Read()
  31.                         ar = reader1("e")
  32.                     End While
  33.                     .Dispose()
  34.                     reader1.Close()
  35.                 End With
  36.                 conn.Close()
  37.                 conn.Dispose()
  38.             End Using
  39.  
  40.         Catch ex As Exception
  41.  
  42.             MsgBox("Error en BD" & Chr(13) & Chr(13) & ex.Message)
  43.         Finally
  44.  
  45.             conn.Close()
  46.             conn.Dispose()
  47.         End Try
  48.  
  49.         Return ar
  50.     End Function

Es decir "ar" lo he declarado como array y lo que quiero es que el select que hago lo que me devuelva me lo meta dentro de "ar" pero ahora mismo me da este error: el argumento 'prompt' no se puede convertir en el tipo 'string'.

¿Porque puede ser?
¿Alguien me puede echar una mano?(al cuello aunque sea )

Un saludo y gracias
__________________
Gracias por todo;

Un saludo
  #2 (permalink)  
Antiguo 12/04/2013, 09:17
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: el argumento 'prompt' no se puede convertir en el tipo 'string'.

Hola,

El error está en que estás intentando asignar un valor de tipo string a una variable de tipo string().

Puedes hacerlo de dos maneras:



Código vb:
Ver original
  1. Dim i as Integer = 0
  2.  
  3. While reader1.Read()
  4.      ReDim Preserve ar(i)
  5.     ar(i) = reader1("e")
  6.     i+=1
  7. End While



Código vb:
Ver original
  1. Dim list As New List(Of String)
  2.  
  3. While reader1.Read()
  4.     list.Add reader1("e")  
  5. End While
  6.  
  7. ar = list.toArray

La segunda me gusta más porque no tienes que estar redimensionando continuamente el array y luego puedes usar el método toArray para pasarlo a un array.

Un saludo.
  #3 (permalink)  
Antiguo 15/04/2013, 03:11
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años, 1 mes
Puntos: 7
Respuesta: el argumento 'prompt' no se puede convertir en el tipo 'string'.

Cita:
Iniciado por alexg88 Ver Mensaje
Hola,

El error está en que estás intentando asignar un valor de tipo string a una variable de tipo string().

Puedes hacerlo de dos maneras:



Código vb:
Ver original
  1. Dim i as Integer = 0
  2.  
  3. While reader1.Read()
  4.      ReDim Preserve ar(i)
  5.     ar(i) = reader1("e")
  6.     i+=1
  7. End While



Código vb:
Ver original
  1. Dim list As New List(Of String)
  2.  
  3. While reader1.Read()
  4.     list.Add reader1("e")  
  5. End While
  6.  
  7. ar = list.toArray

La segunda me gusta más porque no tienes que estar redimensionando continuamente el array y luego puedes usar el método toArray para pasarlo a un array.

Un saludo.
Gracias, he utilizado la segunda y me va perfecto.
Muchas gracias
__________________
Gracias por todo;

Un saludo

Etiquetas: bd, conexion, prompt, sql, tipo
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 16:04.