elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el ttwitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  llenar list(of oracleparameter) a partir de una clase
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: llenar list(of oracleparameter) a partir de una clase  (Leído 1,599 veces)
d91

Desconectado Desconectado

Mensajes: 165


Ver Perfil
llenar list(of oracleparameter) a partir de una clase
« en: 20 Septiembre 2015, 20:47 pm »

hola, estoy construyendo un pequeño proyecto con visual basic.net  y oracle con store procedure, ya he visto algunos ejemplos para hacerlo en capas, lo unico que en los ejemplos esta lista se llena de manera estatica porque son procedimientos de select, pero necesito hacer un insert pero no se como recorrer la clase que la he recibido como objeto les dejo el procedimiento que si funciona pero es estatica con la lista y la que tengo que implementar
Código
  1. Public Function SelectEmple(ByVal spName, ByVal IntIdTienda As Integer) As DataSet
  2. Dim ds As DataSet
  3. Try
  4. con = New ConectDatos
  5. Dim listaParam As List(Of OracleParameter) = New List(Of OracleParameter)
  6. Dim param1 As OracleParameter = New OracleParameter("IntIdTienda", OracleDbType.Int32)
  7. param1.Value = IntIdTienda
  8. listaParam.Add(param1)
  9. Dim param2 As OracleParameter = New OracleParameter("ResCursor", OracleDbType.RefCursor)
  10. param2.Direction = ParameterDirection.Output
  11. listaParam.Add(param2)
  12. ds = New DataSet
  13. ds = con.getdataset(spName, listaParam)
  14. Return ds
  15. Catch ex As Exception
  16. Throw New ArgumentException("Error cursor USP_CARGA_EMPLEADOS" + ex.ToString)
  17. End Try
  18. End Function
  19.  
  20. '*****************************
  21.  
  22. '*****************************
  23. Public Function EjecutaSql(ByVal spName As String, ByVal entidad As Object) As Integer
  24. con = New ConectDatos
  25. Dim row As Integer
  26. Dim i As Integer
  27.  
  28. Dim listaParam As List(Of OracleParameter) = New List(Of OracleParameter)
  29. 'Dim param1 As OracleParameter
  30. 'i = 0
  31. '
  32. 'For Each p As Object In entidad
  33. 'param1 = New OracleParameter(entidad(i++), OracleDbType.Int32)
  34. '     listaParam.Add(param1)
  35. ' Next
  36. row = con.EjecutarQuery(spName, listParam)
  37. Return row
  38. End Function
  39.  
agradezco de antemano la orientacion


En línea

d91

Desconectado Desconectado

Mensajes: 165


Ver Perfil
Re: llenar list(of oracleparameter) a partir de una clase
« Respuesta #1 en: 21 Septiembre 2015, 14:37 pm »

investigue un poco mas, hice algunas modificaciones, pero al ejecutar el executenonquery el error dice "El objeto debe estar abierto" y creo que se refiere  a la conexion, aunque la conexion si funciona para el select, les dejo la modificacion y el ejecuta query
Código
  1. Public Function EjecutaSql(ByVal spName As String, ByVal tienda As clstienda) As Integer
  2.  
  3.        Dim row As Integer
  4.  
  5.        Try
  6.            con = New ConectDatos
  7.  
  8.            Dim listaParam As List(Of OracleParameter) = New List(Of OracleParameter)
  9.            Dim param1 As OracleParameter = New OracleParameter("id_", OracleDbType.Int32)
  10.            param1.Value = tienda.getid
  11.            listaParam.Add(param1)
  12.            Dim param2 As OracleParameter = New OracleParameter("tienda_", OracleDbType.Varchar2)
  13.            param2.Value = tienda.getnombre
  14.            listaParam.Add(param2)
  15.            Dim param3 As OracleParameter = New OracleParameter("direccion_", OracleDbType.Varchar2)
  16.            param3.Value = tienda.getdireccion
  17.            listaParam.Add(param3)
  18.            Dim param4 As OracleParameter = New OracleParameter("tel_", OracleDbType.Int32)
  19.            param4.Value = tienda.gettel
  20.            listaParam.Add(param4)
  21.            Dim param5 As OracleParameter = New OracleParameter("gerente_", OracleDbType.Varchar2)
  22.            param5.Value = tienda.getgerente
  23.            listaParam.Add(param5)
  24.            Dim param6 As OracleParameter = New OracleParameter("desc_", OracleDbType.Varchar2)
  25.            param6.Value = tienda.getdesc
  26.            listaParam.Add(param6)
  27.  
  28.            row = con.EjecutarQuery(spName, listaParam)
  29.            Return row
  30.        Catch ex As Exception
  31.            Throw New Exception("Error al generar Consulta " + ex.Message.ToString)
  32.        End Try
  33.  
  34.    End Function
  35.  
  36. '********
  37.  
  38. '///////////
  39.  
  40. Public Function EjecutarQuery(ByVal spName As String, ByVal parameters As List(Of OracleParameter)) As Integer
  41.        Dim cmd As OracleCommand
  42.        Dim row As Integer                                  'List(Of OracleParameter)
  43.        Try
  44.            Using conexion()
  45.                conexion.Open()
  46.                cmd = New OracleCommand(spName, conexion)
  47.  
  48.                If Not parameters Is Nothing Then
  49.                    cmd.CommandType = System.Data.CommandType.StoredProcedure
  50.                    For Each p In parameters
  51.                        cmd.Parameters.Add(p)
  52.                    Next
  53.                End If
  54.                row = cmd.ExecuteNonQuery()
  55.                Return row
  56.            End Using
  57.  
  58.        Catch ex As Exception
  59.            Throw New ArgumentException("No se logro ejecutar la consulta en la DataBase " + ex.Message.ToString)
  60.        End Try
  61.    End Function
  62.  


En línea

d91

Desconectado Desconectado

Mensajes: 165


Ver Perfil
Re: llenar list(of oracleparameter) a partir de una clase
« Respuesta #2 en: 21 Septiembre 2015, 15:39 pm »

bueno hay cosas que no se aclaran en los tutoriales, pero hay que ir listando las opciones implicitas de los diferentes metodos, el procedimiento ejecuta query le hacian falta un par de lineas para que funcionara, no entiendo porque para retornar un dataset no se necesita esas lineas
Código
  1. Public Function EjecutarQuery(ByVal spName As String, ByVal parameters As List(Of OracleParameter)) As Integer
  2.        Dim cmd As OracleCommand
  3.        'Dim row As Integer                                  'List(Of OracleParameter)
  4.        Try
  5.            Using conexion()
  6.                conexion.Open()
  7.                cmd = New OracleCommand(spName, conexion)
  8.  
  9.                cmd = conexion.CreateCommand()
  10.  
  11.                If Not parameters Is Nothing Then
  12.                    cmd.CommandText = spName
  13.                    cmd.CommandType = System.Data.CommandType.StoredProcedure
  14.                    For Each p In parameters
  15.                        cmd.Parameters.Add(p)
  16.                    Next
  17.                End If
  18.                cmd.Connection.Open()
  19.                If cmd.ExecuteNonQuery() Then
  20.                    Return 1
  21.                Else
  22.                    Return 0
  23.                End If
  24.            End Using
  25.  
  26.        Catch ex As Exception
  27.            Throw New ArgumentException("No se logro ejecutar la consulta en la DataBase " + ex.Message.ToString)
  28.        End Try
  29.    End Function
  30.  
  31.  
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con clase list
Programación C/C++
.:BlackCoder:. 5 2,148 Último mensaje 15 Julio 2010, 02:41 am
por leogtz
Clase List STL de c++, como usarlo???
Programación C/C++
TaLaP0 XoR BiT 2 1,652 Último mensaje 27 Octubre 2013, 21:37 pm
por TaLaP0 XoR BiT
Método list Clase File
Java
neveldine 1 1,097 Último mensaje 29 Diciembre 2015, 18:24 pm
por 0xFer
Como llenar un arreglo a partir de un json
PHP
d91 1 1,354 Último mensaje 10 Febrero 2017, 20:48 pm
por mchojrin
Crear ArrayList a partir de una clase
Java
MrSimpatia 8 1,889 Último mensaje 1 Junio 2019, 19:18 pm
por rub'n
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines