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

llamar procedimiento almacenado.

Estas en el tema de llamar procedimiento almacenado. en el foro de .NET en Foros del Web. mi base de datos se llama equipos. mi tabla se llama proyecto(proy_codigo,proy_descripcion,proy_observ) todos varchar(50) mi procedimiento almacenado para agregar es: create procedure Agrega(@proy_codigo varchar(20) ,@proy_descripcion ...
  #1 (permalink)  
Antiguo 20/08/2007, 10:02
Avatar de mamicho  
Fecha de Ingreso: mayo-2007
Mensajes: 98
Antigüedad: 17 años
Puntos: 0
Pregunta llamar procedimiento almacenado.

mi base de datos se llama equipos. mi tabla se llama
proyecto(proy_codigo,proy_descripcion,proy_observ) todos varchar(50)

mi procedimiento almacenado para agregar es:

create procedure Agrega(@proy_codigo varchar(20)
,@proy_descripcion varchar(50),
@proy_observ varchar(50))

AS

insert into proyecto (proy_codigo,proy_descripcion,proy_observ)

values(@proy_codigo ,@proy_descripcion,@proy_observ )

GO



en mi formulario .aspx.vb

tengo tres textBox(txtCodigo,txtdescripcion,txtobserv) y un boton agregar

que pongo en el boton agregar para guardar esos tres campos en la bdd con el
procedimiento almacenado?
  #2 (permalink)  
Antiguo 20/08/2007, 12:32
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Re: llamar procedimiento almacenado.

Usando un poco google

http://www.c-sharpcorner.com/UploadF...sOutsinCS.aspx
http://msdn2.microsoft.com/en-us/lib...y8(vs.71).aspx
http://www.csharp-station.com/Tutori.../Lesson07.aspx
http://forums.microsoft.com/MSDN/Sho...25904&SiteID=1
...
...
http://www.google.com/search?hl=en&q...23&btnG=Search

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 20/08/2007, 13:51
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años
Puntos: 3
Re: llamar procedimiento almacenado.

RootK ¿cómo sería todo lo que pide mamicho (form con TextBoxs, Procedimiento Almacenado, parámetros, clic en botón para ejecutar un Select/Insert/Update...) pero, en vez de usar el SqlCommand, usando un SqlDataSource?
__________________
Saludos,

zacktagnan.
=================================================
  #4 (permalink)  
Antiguo 21/08/2007, 09:04
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Re: llamar procedimiento almacenado.

Personalmente lo hago con los Enterprise Libraries y objetos de System.Collections (generics) con clases customizadas, no uso objetos sqlcommand, sqldatasource, dataset, etc

pero para tu duda sería así:

Cita:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="tu_conexion"
ProviderName="System.Data.SqlClient" SelectCommandType="StoredProcedure" SelectCommand="StoreProcedureName">
</asp:SqlDataSource>
Salu2
  #5 (permalink)  
Antiguo 21/08/2007, 09:28
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años
Puntos: 3
Re: llamar procedimiento almacenado.

Ya. Desde la parte de diseño ya sé como se hace. Lo que demandaba era saber cómo hacerlo desde la parte de código.

En mi caso, usando C#, desde el .aspx.cs ...

Algo como:

Código:
SqlDataSource1.SelectCommand ...

SqlDataSource1.SelectParameters ...
No obstante, desde diseño, con la forma que mencionas, si solamente estás manejando un formulario con sus TextBox y un botón para Insertar ó lo que sea, ¿cómo haces para vincular esto al SqlDataSource que definas para realizar un select/insert/... por los datos de los TextBox?

Es decir, un GridView, DetailView ó controles como estos tienen una propiedad para indicar a que fuente de datos están vinculados (el DataSourceID), pero cómo haces esto en el caso de un form con sus dos cajas y el botón.

En concreto, yo tengo el caso del típico formulario para abrir una sesión de usuario con sus cajas para teclear el Usuario y la Contraseña y su botón de [Entrar].

Lo que hago es, en el clic del botón, a través de un SqlCommand y por medio de un store procedure comprobar si los datos son los de algún usuario registrado.
Si es así, entra y sino pues no...

Lo que quería saber es cómo consigo lo mismo (con un store procedure y pasando parámetros) usando no un SqlCommand sino un SqlDataSource.
__________________
Saludos,

zacktagnan.
=================================================
  #6 (permalink)  
Antiguo 23/08/2007, 07:54
 
Fecha de Ingreso: agosto-2007
Ubicación: Bogota Colombia
Mensajes: 5
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: llamar procedimiento almacenado.

En el post anterior de mamicho subi una clase para el manejo Ultrasencillo de los stored procedures en cualquier aplicacion, la encontre rebuscando mucho y la mejore agregando mas funciones, revisenla y espero les sea util, a mi me funciona a las mil maravillas..
  #7 (permalink)  
Antiguo 23/08/2007, 12:33
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años
Puntos: 3
Re: llamar procedimiento almacenado.

Vale ... intentaré probarla ... después de adaptarla a C# ... si lo consigo ...

Unas preguntitas que se me ocurren por ahora:

- ¿esta clase hay que crearla dentro de la carpeta [App_Code] para que sea accesible por todos los archivos del sitio web?

- respecto a la hora de llamar a la clase, ...
Código:
DIm sp as new Aplicacion.storedProcedure("NombredelStoreProcedur e")
DIm ds as new dataset

sp.agregarparametro("codigo", txtCodigo.text)
ds = sp.ejecutarProcedimiento
... teniendo el dato del parámetro en un campo BoundField (por ejemplo, con el DataField="usuario_nombre") este no tiene ID. Entonces ¿qué se pone exactamente como "codigo" y como txtCodigo.text?

- y en el caso de un TemplateField con un Item/Edit/InsertTemplate que tenga un TextBox con un ID, por ejemplo, usuario_nombre ¿qué se pone exactamente como "codigo" y como txtCodigo.text?
__________________
Saludos,

zacktagnan.
=================================================
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 23:13.