Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/07/2010, 08:24
Avatar de -rommel_
-rommel_
 
Fecha de Ingreso: junio-2008
Ubicación: Lima
Mensajes: 360
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Procedimientos almacenados , Ayuda

amigo yo hice... un trabajo con lo que tu quieres...
a ver te paso mi codigo a ver si te ayuda... Saludos
Código vb:
Ver original
  1. Public Sub RegistrarSP(c As String, d As String)
  2.  Dim Cn As New ADODB.Connection
  3.  Cn.Provider = "SQLOLEDB"
  4.  Cn.ConnectionString = "Data Source=(local);Initial Catalog=demo;Integrated security=sspi"
  5.  Cn.Open
  6.  Dim cmd As New ADODB.Command
  7.  cmd.ActiveConnection = Cn
  8.  cmd.CommandText = "sp_regcliente" 'aqui el nombre del Procedimiento Almacenado (PA)
  9. cmd.CommandType = adCmdStoredProc  'tipo PA
  10. cmd.Parameters.Append cmd.CreateParameter("@cod", adVarChar, adParamInput, 30, c) 'el 1er Parametro
  11. cmd.Parameters.Append cmd.CreateParameter("@des", adVarChar, adParamInput, 50, d) '2do Parametro
  12. cmd.Execute
  13.  Cn.Close
  14. End Sub
  15. '-----------------------------------------------------------------
  16. ' Esta funcion Lista todos los registros de la tabla Cliente
  17. Public Function Listar() As ADODB.Recordset
  18.   Dim Cn As New ADODB.Connection
  19.   Dim Rs As New ADODB.Recordset
  20.  Cn.Provider = "SQLOLEDB"
  21.  Cn.ConnectionString = "Data Source=(local);Initial Catalog=demo;Integrated security=sspi"
  22.  Cn.Open
  23.  Cn.CursorLocation = adUseClient
  24.  Rs.CursorLocation = adUseClient
  25.  Rs.CursorType = adOpenStatic
  26.  Rs.LockType = adLockBatchOptimistic
  27.  'Rs.Open "select * from cliente", Cn
  28.  
  29.  Dim cmd As New ADODB.Command
  30.  cmd.ActiveConnection = Cn
  31. ' cmd.CommandText = "select * from cliente"
  32.  
  33.  Set Rs = Cn.Execute("exec sp_Listar")
  34.  Set Listar = Rs
  35.  'aqui cierro la conexion y mi DataGrid sigue con los datos
  36. 'pero no hay ningun efecto si se cambia en el Data Grid
  37. 'no recuerdo como se llama este tipo, algo de Recordset en Caliente o en Frio algo asi
  38. Set Rs.ActiveConnection = Nothing
  39. Cn.Close
  40. End Function
  41. '-----------------------------
  42. Public Function Buscar(cli As String) As ADODB.Recordset
  43.   Dim Cn As New ADODB.Connection
  44.   Dim Rs As New ADODB.Recordset
  45.  Cn.Provider = "SQLOLEDB"
  46.  Cn.ConnectionString = "Data Source=(local);Initial Catalog=demo;Integrated security=sspi"
  47.  Cn.Open
  48.  Cn.CursorLocation = adUseClient
  49.  Rs.CursorLocation = adUseClient
  50.  Rs.CursorType = adOpenStatic
  51.  Rs.LockType = adLockBatchOptimistic
  52.  Set Rs = Cn.Execute("exec sp_Buscar " & cli)
  53.  Set Buscar = Rs
  54.  Set Rs.ActiveConnection = Nothing
  55. Cn.Close
  56. End Function
Espero te sea util...
pasa de que declaro en cada funcion el ADODB.Connection y el ADODB.Recordset proque lo estaba trabajando desde una Clase pero tu puedes trabajarlo desde un Modulo... Saludos!!!