Retroceder   Foros del Web > Programación para sitios web > .NET > win forms

Respuesta
 
Herramientas Desplegado
Antiguo 12-abr-2008, 15:07   #1 (permalink)
ManuelV está en el buen camino
 
Fecha de Ingreso: octubre-2003
Mensajes: 91
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)
ManuelV está desconectado   Responder Citando
Antiguo 13-abr-2008, 16:58   #2 (permalink)
dwaks está en el buen camino
 
Avatar de dwaks
 
Fecha de Ingreso: noviembre-2002
Ubicación: Panamá
Mensajes: 724
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
__________________
Miembro fundador de el Grupo PHP de Panamá

Saludos,
dwaks
dwaks está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 23:09.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93