Procedimientos Almacenados en Acces con parametros de salida

09/11/2004 - 16:26 por Xicu | Informe spam
Tengo una aplicación que conecta con SqlServer, en la inserto un nuevo
registro Cliente a una tabla llamada “Clientes” mediante un procedimiento
almacenado (definiendo adequadamente InsertCommand de DataAdapter ). Para
ello utilizo un parámetro de salida para devolver un valor @IdCliente de un
campo autonumérico, de forma que el DataAdapter lo enlaza con una columna de
un DataTable de forma que el Dataset refleja el valor resultante de la clave
principal de forma “automàtica”.

Para crear el procedimiento almacenado en SqlAcces aplique la sentencia
siguiente:

CREATE PROCEDURE dbo.InsertarCliente
@Nombre nchar(15),
@Apellido1 nchar(15),
@Apellido2 nchar(15),
@idCliente int OUT
AS
INSERT INTO Clientes (Nombre, Apellido1, Apellido2)
VALUES (@Nombre, @Apellido1, @Apellido2)
SET @idCliente=SCOPE_IDENTITY()
GO
De hecho la aplicación funciona perfectamente.

Mi problema ha surgido en el momento en que debo crear este mismo
procedimiento almacenado en una base tipo Acces. De hecho he buscado por
muchos sitios cual seria la sintaxis, peró no he sido capaz de localizar el
modo.
¿Es que Acces no admite parametros de salida?.
En caso afirmativo ¿Cómo es la sintaxis en Acces para este tipo de
procedimientos? .

Preguntas similare

Leer las respuestas

#1 tribufo
09/11/2004 - 16:46 | Informe spam
Definitivamente Access no maneja el concepto de
procedimientos almacenados. Igualmente microsoft de alguna
forma sugiere utilizar SqlServer ( o MSDE) para manejo de
datos, entonces, por que seguir usando access??

Tengo una aplicación que conecta con SqlServer, en la


inserto un nuevo
registro Cliente a una tabla llamada â?oClientesâ?


mediante un procedimiento
almacenado (definiendo adequadamente InsertCommand de


DataAdapter ). Para
ello utilizo un parà¡metro de salida para devolver un


valor @IdCliente de un
campo autonumérico, de forma que el DataAdapter lo


enlaza con una columna de
un DataTable de forma que el Dataset refleja el valor


resultante de la clave
principal de forma â?oautomà ticaâ?.

Para crear el procedimiento almacenado en SqlAcces


aplique la sentencia
siguiente:

CREATE PROCEDURE dbo.InsertarCliente
@Nombre nchar(15),
@Apellido1 nchar(15),
@Apellido2 nchar(15),
@idCliente int OUT
AS
INSERT INTO Clientes (Nombre, Apellido1, Apellido2)
VALUES (@Nombre, @Apellido1, @Apellido2)
SET @idCliente=SCOPE_IDENTITY()
GO
De hecho la aplicación funciona perfectamente.

Mi problema ha surgido en el momento en que debo crear


este mismo
procedimiento almacenado en una base tipo Acces. De hecho


he buscado por
muchos sitios cual seria la sintaxis, peró no he sido


capaz de localizar el
modo.
¿Es que Acces no admite parametros de salida?.
En caso afirmativo ¿Cómo es la sintaxis en Acces para


este tipo de
procedimientos? .




.

Respuesta Responder a este mensaje
#2 Eduardo A. Morcillo [MS MVP VB]
09/11/2004 - 19:31 | Informe spam
entonces, por que seguir usando access??



Access o mejor dicho el motor Jet tiene la ventaja que no necesita de un
servidor instalado para funcionar. Solo necesitas el archivo y los
controladores de acceso a datos (que de todas formas lo necesitas para
cualquier otro tipo de BD) lo que lo hace muy practico para pequeñas
aplicaciones. Por supuesto que si lo que se esta haciendo es un sistema
medianamente importante una base access no es la mejor opcion.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida