Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   .NET (http://www.forosdelweb.com/f29/)
-   -   C#....es sobre un sp sql, pero please HELP (http://www.forosdelweb.com/f29/c-sobre-sp-sql-pero-please-help-575362/)

ManuelV 12/04/2008 15:07

C#....es sobre un sp sql, pero please HELP
 
Se que tiene que ver con un poco mas de sql, pero aca la disposicion para ayudar es excelente, asi que les planteo mi duda.

-----------------------------------------------------------
Estimados:
Tengo una tabla que consta de los siguientes campos:

id int
descripcion varchar(50)
codigo varchar(10)

al ejecutarlo me sale el siguiente error:
Mens 4104, Nivel 16, Estado 1, Procedimiento sp_prueba_agregar, Línea 16
El identificador formado por varias partes "TB.id" no se pudo enlazar.

"lo que yo deseo hacer es mandar desde una aplicacion .net un codigo varchar, y grabar el TB.id pero a partir deL where del codigo varchar (
WHERE TB.codigo = @codigo)


CREATE PROCEDURE [dbo].[sp_prueba_agregar]
(
@codigo varchar(10)
)
AS

SELECT TB.id
,TB.descripcion
,TB.codigo

FROM tbl_prueba TB

WHERE TB.codigo = @codigo

DECLARE @codproducto int
SET @codproducto= TB.id

INSERT INTO tbl_prueba
(id)
values (@codproducto)

dwaks 13/04/2008 16:58

Re: C#....es sobre un sp sql, pero please HELP
 
Saludos,

El problema tuyo se basa en la forma como quieres llenar la variable @codproducto ya que la forma como lo llenas no es correcta.

Primero lo primero y es resolver ese problema despues te tengo consultas para ver si te ayudo un poco mas:
1- la forma de llenar un variable desde una consulta sql seria:
DECLARE @codproducto int
SET @codproducto = TB.id FROM tbl_prueba TB
WHERE TB.codigo = @codigo

De esta forma si despues quieres devolver el valor solo agregas al final
SELECT @codproducto as id

Pienso que quieres tomar el id y ponerlo en la variable @codproducto y luego ese id insertarlo en la tabla prueba. Asi que el store procedure que yo haria seria algo como esto:

CREATE PROCEDURE [dbo].[sp_prueba_agregar]
(
@codigo varchar(10)
)
AS

DECLARE @codproducto int

SELECT @codproducto = TB.id FROM tbl_prueba TB
WHERE TB.codigo = @codigo

INSERT INTO tbl_prueba (id) values (@codproducto)

Saludos,
Marco


La zona horaria es GMT -6. Ahora son las 23:16.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.