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

Instancia un procedimiento almacenado

Estas en el tema de Instancia un procedimiento almacenado en el foro de .NET en Foros del Web. Hola amigos buenos dias tengo un procedimiento almacenado que cuenta los clientes que tengo, cuando la creé probe y me funciona perfecto. ahora coloque un ...
  #1 (permalink)  
Antiguo 17/03/2012, 07:05
 
Fecha de Ingreso: febrero-2012
Mensajes: 44
Antigüedad: 12 años, 2 meses
Puntos: 0
Instancia un procedimiento almacenado

Hola amigos buenos dias

tengo un procedimiento almacenado que cuenta los clientes que tengo, cuando la creé probe y me funciona perfecto.

ahora coloque un label que de hecho se llama Label1 y queria que me muestre en ese label la cantidad de clientes hice esto :

Código vb:
Ver original
  1. Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
  2.         Me.ClientesTableAdapter.ContarClientes()
  3.     End Sub
pero no me muestra nada por favor se que esta mal y por eso les pregunto como hago para que me muestre los datos ahi

gracias por los comentarios


Roberto
  #2 (permalink)  
Antiguo 17/03/2012, 09:43
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Instancia un procedimiento almacenado

Hola CarlosMelgar pordrías mostrarnos como esta hecho tu metodo ContarClientes() ? ya que en ningun momento le pasas algo al Label. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #3 (permalink)  
Antiguo 17/03/2012, 09:50
 
Fecha de Ingreso: febrero-2012
Mensajes: 44
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Instancia un procedimiento almacenado

En el DataSet de la Tabla clientes
Boton derecho
Agregar Consulta
Crear un nuevo procedimiento almacenado
Opción
Select que devuelve un solo valor
SELECT COUNT(*) FROM Clientes

y cuando doy generar consulta me cuenta los clientes registrados
ahora al momento de hacer que me muestre el valor en el formulario no se como instanciarlo

gracias por colaborarme
  #4 (permalink)  
Antiguo 17/03/2012, 09:53
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Instancia un procedimiento almacenado

Claro lo sé pero quiero verlo como lo tienes en código no que me lo describas para poder ver la falla. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #5 (permalink)  
Antiguo 17/03/2012, 09:57
 
Fecha de Ingreso: febrero-2012
Mensajes: 44
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Instancia un procedimiento almacenado

Distinguido amigo este es todo mi codigo de mi formulario haber si con eso me puedes ayudar a ver el error.


Código vb:
Ver original
  1. Public Class Form1
  2.     Private Sub ClientesBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
  3.         'Me.Validate()
  4.        'Me.ClientesBindingSource.EndEdit()
  5.        'Me.TableAdapterManager.UpdateAll(Me.AgendaTelefonica2012DataSet)
  6.    End Sub
  7.     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  8.         'TODO: esta línea de código carga datos en la tabla 'AgendaTelefonica2012DataSet.Clientes' Puede moverla o quitarla según sea necesario.
  9.        Me.ClientesTableAdapter.Fill(Me.AgendaTelefonica2012DataSet.Clientes)
  10.     End Sub
  11.     Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
  12.         Me.ClientesBindingSource.MoveFirst()
  13.     End Sub
  14.     Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
  15.         Me.ClientesBindingSource.MoveLast()
  16.     End Sub
  17.     Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
  18.         Me.ClientesBindingSource.MoveNext()
  19.     End Sub
  20.     Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
  21.         Me.ClientesBindingSource.MovePrevious()
  22.     End Sub
  23.     Private Sub AgregarContactoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AgregarContactoToolStripMenuItem.Click
  24.         Me.ClientesBindingSource.AddNew()
  25.     End Sub
  26.     Private Sub ActualizarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ActualizarToolStripMenuItem.Click
  27.         Me.ClientesTableAdapter.ActualizarCliente(CelularTextBox.Text, CelularReferenciaTextBox.Text, TelefonoFijoTextBox.Text, NombreTextBox.Text, ProveedorDeTextBox.Text, CorreoElectronicoTextBox.Text, WebTextBox.Text, DireccionTextBox.Text)
  28.         Me.ClientesTableAdapter.Fill(Me.AgendaTelefonica2012DataSet.Clientes)
  29.     End Sub
  30.     Private Sub EliminarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EliminarToolStripMenuItem.Click
  31.         Me.ClientesTableAdapter.EliminarCliente(CelularTextBox.Text)
  32.         Me.ClientesTableAdapter.Fill(Me.AgendaTelefonica2012DataSet.Clientes)
  33.     End Sub
  34.     Private Sub GuardarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GuardarToolStripMenuItem.Click
  35.  
  36.         Try
  37.             Me.ClientesTableAdapter.InsertarCliente(CelularTextBox.Text, CelularReferenciaTextBox.Text, TelefonoFijoTextBox.Text, NombreTextBox.Text, ProveedorDeTextBox.Text, CorreoElectronicoTextBox.Text, WebTextBox.Text, DireccionTextBox.Text)
  38.             Me.ClientesTableAdapter.Fill(Me.AgendaTelefonica2012DataSet.Clientes)
  39.         Catch ex As Exception
  40.             MsgBox("Error al guardar" & ex.Message)
  41.  
  42.         End Try
  43.  
  44.     End Sub
  45.  
  46.     Private Sub BuscarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BuscarToolStripMenuItem.Click
  47.         Me.ClientesTableAdapter.FillBy(Me.AgendaTelefonica2012DataSet.Clientes, CelularTextBox.Text)
  48.     End Sub
  49.     Private Sub CelularTextBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles CelularTextBox.KeyPress
  50.  
  51.         If Char.IsNumber(e.KeyChar) Then
  52.             e.Handled = False
  53.         ElseIf Char.IsControl(e.KeyChar) Then
  54.             e.Handled = False
  55.         ElseIf Char.IsSeparator(e.KeyChar) Then
  56.             e.Handled = False
  57.         Else
  58.             e.Handled = True
  59.         End If
  60.         'Codigo para cambiar con la tecla enter
  61.        If Asc(e.KeyChar) = 13 Then
  62.             CelularReferenciaTextBox.Focus()
  63.         End If
  64.  
  65.     End Sub
  66.     Private Sub CelularReferenciaTextBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles CelularReferenciaTextBox.KeyPress
  67.         If Asc(e.KeyChar) = 13 Then
  68.             TelefonoFijoTextBox.Focus()
  69.         End If
  70.     End Sub
  71.     Private Sub NombreTextBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles NombreTextBox.KeyPress
  72.         If Asc(e.KeyChar) = 13 Then
  73.             ProveedorDeTextBox.Focus()
  74.         End If
  75.     End Sub
  76.     Private Sub ProveedorDeTextBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles ProveedorDeTextBox.KeyPress
  77.         If Asc(e.KeyChar) = 13 Then
  78.             CorreoElectronicoTextBox.Focus()
  79.         End If
  80.     End Sub
  81.     Private Sub CorreoElectronicoTextBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles CorreoElectronicoTextBox.KeyPress
  82.         If Asc(e.KeyChar) = 13 Then
  83.             WebTextBox.Focus()
  84.         End If
  85.     End Sub
  86.     Private Sub WebTextBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles WebTextBox.KeyPress
  87.         If Asc(e.KeyChar) = 13 Then
  88.             DireccionTextBox.Focus()
  89.         End If
  90.     End Sub
  91.     Private Sub TelefonoFijoTextBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TelefonoFijoTextBox.KeyPress
  92.         If Asc(e.KeyChar) = 13 Then
  93.             NombreTextBox.Focus()
  94.         End If
  95.     End Sub
  96.  
  97.     Private Sub DireccionTextBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles DireccionTextBox.KeyPress
  98.         If Asc(e.KeyChar) = 13 Then
  99.             GuardarToolStripMenuItem.Select()
  100.         End If
  101.     End Sub
  102.  
  103.  
  104.  
  105.     Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
  106.         Me.ClientesTableAdapter.ContarClientes()
  107.     End Sub
  108. End Class

Muchas gracias
  #6 (permalink)  
Antiguo 17/03/2012, 10:02
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Instancia un procedimiento almacenado

CarlosMelgar, te recalco necesito ver el código del método ContarClientes(), ya que alli es donde vas a mandar el valor.

PDT: Dale doble click sobre la palabra ContarClientes(), luego click derecho y le das en la opcion "GO TO DEFINITION" y pegame el codigo que te muestra allí. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #7 (permalink)  
Antiguo 17/03/2012, 11:10
 
Fecha de Ingreso: febrero-2012
Mensajes: 44
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Instancia un procedimiento almacenado

Bueno hice click como dijiste y me llevo a este código.

Código vb:
Ver original
  1. <Global.System.Diagnostics.DebuggerNonUserCodeAttribute(),  _
  2.          Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0"),  _
  3.          Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")>  _
  4.         Public Overloads Overridable Function ContarClientes() As Object
  5.             Dim command As Global.System.Data.SqlClient.SqlCommand = Me.CommandCollection(2)
  6.             Dim previousConnectionState As Global.System.Data.ConnectionState = command.Connection.State
  7.             If ((command.Connection.State And Global.System.Data.ConnectionState.Open)  _
  8.                         <> Global.System.Data.ConnectionState.Open) Then
  9.                 command.Connection.Open
  10.             End If
  11.             Dim returnValue As Object
  12.             Try
  13.                 returnValue = command.ExecuteScalar
  14.             Finally
  15.                 If (previousConnectionState = Global.System.Data.ConnectionState.Closed) Then
  16.                     command.Connection.Close
  17.                 End If
  18.             End Try
  19.             If ((returnValue Is Nothing)  _
  20.                         OrElse (returnValue.GetType Is GetType(Global.System.DBNull))) Then
  21.                 Return Nothing
  22.             Else
  23.                 Return CType(returnValue,Object)
  24.             End If
  25.         End Function

Gracias por la paciencia y si no es ese no se cual mas

pues lo unico que hice luego de hacer el procedimiento fue
colocar dentro evento click del label1
Código vb:
Ver original
  1. Me.ClientesTableAdapter.ContarClientes()
  #8 (permalink)  
Antiguo 17/03/2012, 14:55
 
Fecha de Ingreso: marzo-2012
Mensajes: 1
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Instancia un procedimiento almacenado

Claro lo sé pero quiero verlo como lo tienes en código no que me lo describas para poder ver la falla. Saludos
  #9 (permalink)  
Antiguo 18/03/2012, 20:36
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Instancia un procedimiento almacenado

Por ese metodo veo que retorna la consulta un Objeto, ponle este codigo y me cuentas:
Código vb:
Ver original
  1. Label1.Text =  CType(Me.ClientesTableAdapter.ContarClientes(),String)
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #10 (permalink)  
Antiguo 19/03/2012, 06:44
 
Fecha de Ingreso: febrero-2012
Mensajes: 44
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Instancia un procedimiento almacenado

Buen día muchas gracias.
quedó de esta forma, en su evento _TextChanged

Código vb:
Ver original
  1. Private Sub ToolStripStatusContarClientes_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripStatusContarClientes.TextChanged
  2.         ToolStripStatusContarClientes.Text = CType(Me.ClientesTableAdapter.ContarClientes(), String) & " Contactos Registrados"
  3.     End Sub
si estas con tiempito solo por favor en tus palabras si me puedes explicar un poco que función cumplen CType y String al final de la cadena
se que estring es cadena pero porque ponerlo ahí y

y si no puedes por falta de tiempo tal vez. no te preocupes.

Gracias ya resolvi el problema y quedo como lo muestro.


Roberto Melgar
  #11 (permalink)  
Antiguo 19/03/2012, 07:45
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Instancia un procedimiento almacenado

Hola! Si te das cuenta en una parte del metodo que te dije que me pasaras el codigo veras que dice :
Código vb:
Ver original
  1. If ((returnValue Is Nothing)  _
  2.                         OrElse (returnValue.GetType Is GetType(Global.System.DBNull))) Then
  3.                 Return Nothing
  4.             Else
  5.                 Return CType(returnValue,Object)
  6.             End If
en el else lo castea el retorno como un Object, entonces eso retorna un objeto y como tu quieres pasarle a un texto de un control, lo que se hace alli pues es castearlo(Convertir) con el Ctype(Convertir cierto objeto a...) despues de la coma le paso el tipo de objeto a cual lo quiero convertir, como lo quieres pasar al texto de un label lo convierto en cadena por eso le coloco String. Espero me hayas entendido. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #12 (permalink)  
Antiguo 19/03/2012, 07:58
 
Fecha de Ingreso: febrero-2012
Mensajes: 44
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Instancia un procedimiento almacenado

Si funcionó gracias amigo

quedo perfecto y la explicación tamben muchas gracias.

Cierro el hilo

Ojala me colabores alguna vez


Roberto Melgar

Etiquetas: visual
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 02:12.