• Domingo 22 de Diciembre de 2024, 13:46

Autor Tema:  Procedimientos Almacenados  (Leído 2271 veces)

ErWillem

  • Miembro activo
  • **
  • Mensajes: 55
    • Ver Perfil
Procedimientos Almacenados
« en: Viernes 10 de Febrero de 2006, 22:10 »
0
Ahora vuelvo pero con otro dilema distinto...

Estoy trabajando con SQL2000 y Visual Studio.Net 2003, especificamente con visual basic en asp.net ...


Ahora tengo el siguiente dilema... Estamos trabajando con procedimientos almacenados, y las funciones de buscar sirven a la perfeccion

El problema esta en que cuando ejecuto algun procedimiento que sea para agregar modificar un registro en especifico no se reflejan en la tabla...

Pensando que podia ser alguna validacion en la pagina me dedique a colocarle mensajes a todo lo importante de manera que falle lo que falle me de un mensaje para saber donde estaba el problema, pero el detalle es que se ejecuta la pagina como si nada y nunca me da mensaje de error... Si alguien sabe que podría ser les agradezco su ayuda.

Sin embargo a mi se me ocurre que podría ser el metodo de coneccion que utilice, asi que si alguno puede orientarme o aconsejarme de cual metodo es mas adecuado para manipular procedimientos almacenados pues acepto sugerencias...

NOTA PERSONAL: Cuando ya estoy  :comp: de lo mas feliz me consigo otro problema  :(   :unsure: :angry: hasta que me proboca agarrar a la computadora y picarla en pedazitos :lightsabre:

Gracias por su paciencia  ;)  :rolleyes:  :P
Enlace a mis programas realizados durante mis estudios.
--------------------------------------------------------------
Si la vida te da limones, pide sal y tequila.

La fe mueve montañas, pero hay que pagar.

El ser humano es el unico que tropieza dos veces con la misma piedra.

hellscream

  • Miembro activo
  • **
  • Mensajes: 95
    • Ver Perfil
Re: Procedimientos Almacenados
« Respuesta #1 en: Domingo 12 de Febrero de 2006, 19:19 »
0
Muestra código.

xcx

  • Miembro MUY activo
  • ***
  • Mensajes: 175
  • Nacionalidad: cl
    • Ver Perfil
    • Fotos y captura
Re: Procedimientos Almacenados
« Respuesta #2 en: Martes 14 de Febrero de 2006, 20:57 »
0
Hola, yo estoy trabajando los procedimientos almacenados con clases, algo similar a esto, y no he tenido ningun atado para recuperar datos u otra cosa...
Código: Text
  1.  
  2. Imports System
  3. Imports System.Data
  4. Imports System.Data.OleDB
  5. Imports System.IO
  6. Imports System.Data.SqlClient
  7. Namespace Identificacion
  8.     Public Class Perfil
  9.         Public rut As Integer
  10.         Public usuNombre As String
  11.         Public usuEmail As String
  12. ...
  13.         Public accion As Integer
  14.  
  15.         Public Function ObtenerDetalles(ByVal dperfil As Perfil, ByVal detalles As Perfil) As Perfil
  16.             Dim Conn As New OleDbConnection("Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User ID=usuario;Initial Catalog=bd;Data Source=ipservidor")
  17.             Dim CMD As New OleDbCommand("nombreprocalmacenado", Conn)
  18.             Dim valor As OleDbDataReader
  19.             CMD.CommandType = CommandType.StoredProcedure
  20.             'Rut del usuario
  21.             Dim Param As New OleDbParameter("@usuRut", OleDbType.Integer)
  22.             Param.Direction = ParameterDirection.Input
  23.             Param.Value = dperfil.rut
  24.             CMD.Parameters.Add(Param)
  25.             'Nombre del usuario
  26.             Param = New OleDbParameter("@usuNombre", OleDbType.VarChar)
  27.             Param.Direction = ParameterDirection.Input
  28.             Param.Value = dperfil.usuNombre
  29.             CMD.Parameters.Add(Param)
  30.             'Email del usuario
  31.             Param = New OleDbParameter("@usuEmail", OleDbType.VarChar)
  32.             Param.Direction = ParameterDirection.Input
  33.             Param.Value = dperfil.usuEmail
  34.             CMD.Parameters.Add(Param)
  35. ...
  36.             Try
  37.                 CMD.Connection.Open()
  38.                 valor = CMD.ExecuteReader
  39.             Catch Ex As OleDbException
  40.                 Throw Ex
  41.             End Try
  42.             While valor.Read()
  43.                 If valor.GetValue(valor.GetOrdinal("usuRut")) = dperfil.rut Then
  44.                     detalles.rut = valor.GetValue(valor.GetOrdinal("usuRut"))
  45.                     detalles.usuNombre = valor.GetValue(valor.GetOrdinal("usuNombre"))
  46.                     detalles.usuEmail = valor.GetValue(valor.GetOrdinal("usuEmail"))
  47.                     detalles.idPerfilWeb = valor.GetValue(valor.GetOrdinal("idPerfilWeb"))
  48.                     If Not IsDBNull(valor.GetValue(valor.GetOrdinal("idPerfilOirs"))) Then
  49.                         detalles.idPerfilOirs = valor.GetValue(valor.GetOrdinal("idPerfilOirs"))
  50.                     End If
  51.                     detalles.idDpto = valor.GetValue(valor.GetOrdinal("idDpto"))
  52.                     detalles.bitActivo = valor.GetValue(valor.GetOrdinal("bitActivo"))
  53.                     Exit While
  54.                 End If
  55.             End While
  56.             CMD.Connection.Close()
  57.             Return detalles
  58.         End Function
  59.  
  60.         ...
  61.     End Class
  62. End Namespace
  63.  
  64.  

ErWillem

  • Miembro activo
  • **
  • Mensajes: 55
    • Ver Perfil
Re: Procedimientos Almacenados
« Respuesta #3 en: Martes 14 de Febrero de 2006, 22:08 »
0
Disculpen que no respondi antes, justamente ayer solucioné el problema y tampoco me llego informe de que tuviera respuesta.

Para variar siempre es lo mas estupido, un pequeño conflicto con los tipos de datos  :whistling:

Respecto a xbx, debes ser mas claro en el codigo, especificar el tipo de error, o almenos explica que pretendes hacer con la funcion ObtenerDetalles porque "a simple vista" da la impresion que los ingresas desde dperfil al procedimiento, despues no se que hace el procedimiento pero asumo que ingresa o extrae los datos, los comparas con dperfil y los guardas luego en detalles, de paso esa funcion pertenece a la clase asi que debe existir otro objeto de tipo Perfil y me parece algo absurdo tanto movimiento de datos... No le veo mucho sentido, se mas especifico.
Enlace a mis programas realizados durante mis estudios.
--------------------------------------------------------------
Si la vida te da limones, pide sal y tequila.

La fe mueve montañas, pero hay que pagar.

El ser humano es el unico que tropieza dos veces con la misma piedra.

xcx

  • Miembro MUY activo
  • ***
  • Mensajes: 175
  • Nacionalidad: cl
    • Ver Perfil
    • Fotos y captura
Re: Procedimientos Almacenados
« Respuesta #4 en: Miércoles 15 de Febrero de 2006, 13:42 »
0
bueno es xcx y no xbx, pero voy a pensar en esa posibilidad..  :D
Respecto a la clase, pues es una clase y tiene varios métodos, yo solo coloqué ese porque era el mas largo y era mas explicativo. pues el procedimiento ese tiene 12 parámetros, pero yo los acorte para este ejemplo, tampoco era la idea que lo posteara completo porque no venía al caso, no había para qué mostrar los otros métodos para validar y eso si solo necesitabas como invocar un procedimiento almacenado y saber como obtener los detalles. Al menos eso creo yo.
Respecto a especificar el tipo de error te refieres al trow? no lo se ocupar bien, aun soy algo novato en .net mi fuerte es java. así que hay varias cosas incompletas por lo mismo...
Bueno la idea del procedimiento en esa parte, es justamente obtener detalles y devolver un objeto de tipo perfil. pues recibe un objeto de tipo perfil, el procedimiento almacenado se encarga de verificar si existe o no y si es así me devuelve el dato, el cual extraigo y lo asigno a un objeto detalles de tipo perfil y lo devuelvo para usarlo en otro lado de la aplicación. eso.
Lo encuentro claro, no le veo complejidad.. el asunto de si hay muchas sentencias es porque no se de que otra manera llamar el procedimiento almacenado en .net o de como pasarle los parámetros mas claros o que ocupe menos líneas. Recuerda que soy novato aun en .net, ya lo he dicho en otros post...
Ahora si tienes tiempo y me puedes hacer un ejemplo de como se debiera hacer correctamente te lo agradecería, yo solo te intenté ayudar pues es lo único que encontre para manejar procedimientos almacenados.. ^_^. :hola:

ErWillem

  • Miembro activo
  • **
  • Mensajes: 55
    • Ver Perfil
Re: Procedimientos Almacenados
« Respuesta #5 en: Jueves 9 de Marzo de 2006, 20:41 »
0
Disculpa la tardanza por la respuesta y el error con tu nombre xcx, he estado bastante ocupado con otros problemitas distintos y no habia necesitado entrar al foro por un tiempo...

Lo lamento pero yo tambien soy algo novato, ahora es que estoy comenzando a estar más claro con la codificacion ya que de visual basic 6 al .net el salto es grande, y no es que no entienda nada porque ya sabia algo de C++ que me ayudo bastante.

Pero aun no tengo suficiente tiempo ni experiencia para aclarar tu duda, sorry  :whistling: espero te hayan ayudado por otra parte. :)
Enlace a mis programas realizados durante mis estudios.
--------------------------------------------------------------
Si la vida te da limones, pide sal y tequila.

La fe mueve montañas, pero hay que pagar.

El ser humano es el unico que tropieza dos veces con la misma piedra.

xcx

  • Miembro MUY activo
  • ***
  • Mensajes: 175
  • Nacionalidad: cl
    • Ver Perfil
    • Fotos y captura
Re: Procedimientos Almacenados
« Respuesta #6 en: Viernes 10 de Marzo de 2006, 14:33 »
0
Oks, no te preocupes, ya he aprendido harto en este ultimo tiempo. hay muchas cosas muy similares a java y eso me hace el aprendisaje un poco mas fácil.. aunque aun hay cosas algo diferentes entre asp solo y asp.net.. pero no importa, hay que seguir aprendiendo... :hola: