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

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

Estas en el tema de C#....es sobre un sp sql, pero please HELP en el foro de .NET en Foros del Web. 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. ...
  #1 (permalink)  
Antiguo 12/04/2008, 15:07
 
Fecha de Ingreso: octubre-2003
Mensajes: 101
Antigüedad: 20 años, 6 meses
Puntos: 0
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)
  #2 (permalink)  
Antiguo 13/04/2008, 16:58
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 21 años, 9 meses
Puntos: 15
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
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 18:37.