elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  [SOLUCIONADO]Agregar registro a sql server
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [SOLUCIONADO]Agregar registro a sql server  (Leído 8,813 veces)
diego_lp

Desconectado Desconectado

Mensajes: 180


In a free world, who needs gates and windows?


Ver Perfil WWW
[SOLUCIONADO]Agregar registro a sql server
« en: 7 Septiembre 2009, 04:16 am »

Hola amigos, mi problema es el siguiente:
Tengo una tabla con varias columnas, la primera se llama "id" y es autonumerica (muy original  ;-)), lo que necesito es que al agregar un nuevo registro a la tabla me devuelva el numero id que se le asigna al registro.
Espero puedan ayudarme
Muchas gracias.
Saludos


« Última modificación: 12 Septiembre 2009, 21:05 pm por diego_lp » En línea

Los programadores hicimos un pacto con Dios, él no hace sistemas y nosotros no hacemos milagros!
Hadess_inf
Desesperado
Colaborador
***
Desconectado Desconectado

Mensajes: 2.048


Nueva Vida


Ver Perfil WWW
Re: Agregar registro a sql server
« Respuesta #1 en: 7 Septiembre 2009, 04:18 am »

Crea un procedimiento almacenado que inserte el registro y que retorne el ultimo id registrado (en este caso del dato insetado), tendrias que trabajar con output('s), luego tendrias que crear una funcion que facilite aun mas el uso del procedimiento almacenado y finalmente solo usar el metodo.

Saludos.


En línea

Kasi

Desconectado Desconectado

Mensajes: 76



Ver Perfil
Re: Agregar registro a sql server
« Respuesta #2 en: 7 Septiembre 2009, 16:12 pm »

Prueba con :
Código:
SELECT TOP(1) id FROM NOMBRE_TABLA ORDER BY ID ASC
Esto te deberia ordenar la tabla según la ID, y cojerte el ID mas alto que estará en la primera fila, si no , solo cambia ASC por DESC y listo.

Saludos
En línea

Atrum

Desconectado Desconectado

Mensajes: 65



Ver Perfil WWW
Re: Agregar registro a sql server
« Respuesta #3 en: 7 Septiembre 2009, 20:43 pm »

Por que no creas un trigger para cuando insertes, y que te devuelva la id de la tabla inserted.
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Agregar registro a sql server
« Respuesta #4 en: 7 Septiembre 2009, 21:26 pm »

Por que no creas un trigger para cuando insertes, y que te devuelva la id de la tabla inserted.

se puede hacer eso ????  :o :o
Prueba con :
Código:
SELECT TOP(1) id FROM NOMBRE_TABLA ORDER BY ID ASC
Esto te deberia ordenar la tabla según la ID, y cojerte el ID mas alto que estará en la primera fila, si no , solo cambia ASC por DESC y listo.

Saludos
no estoy seguro que funcione, ahora, si dices que es autonumerico (y nunca reseteas el contador) te conviene (o es mas facil) esto:

Código:
SELECT MAX(id) FROM NOMBRE_TABLA
En línea

Atrum

Desconectado Desconectado

Mensajes: 65



Ver Perfil WWW
Re: Agregar registro a sql server
« Respuesta #5 en: 7 Septiembre 2009, 23:58 pm »

Bueno en realidad hay varias formas de hacerlo y como ya mencionaron una de ellas es utilizar "Output"
pero yo creo que la mas facil es agregar el TableAdapter y despues en el equema de datos le das click derecho a tu TableAdapter y le pones "agregar consulta" o "add query", posteriormente se debe de abrir un asistente, seleccionas "Usar instrucciones SQL", y le das siguente, cuando te pida el tipo de consulta le das INSERT y cuando le des siguiente te va a generar algo asi:

Código
  1. INSERT INTO [Personas] ([Nombre], [Descripcion]) VALUES (@Nombre, @Descripcion);
  2. SELECT ID,Nombre,Descripcion FROM Grupos WHERE (ID = SCOPE_IDENTITY())
  3.  

este metodo te insertara el nuevo dato en la tabla y te retornara la fila que se inserto, asi que solo bastaria modificarla para que solo nos deje el dato que queremos.

Código
  1. INSERT INTO [Personas] ([Nombre], [Descripcion]) VALUES (@Nombre, @Descripcion);
  2. SELECT ID FROM Grupos WHERE (ID = SCOPE_IDENTITY())
  3.  

y entonces eso te retornaria el id del dato insertado

NOTA: Esto es utilizando VS 2008, no se que tan diferente sea en otras versiones
En línea

diego_lp

Desconectado Desconectado

Mensajes: 180


In a free world, who needs gates and windows?


Ver Perfil WWW
Re: Agregar registro a sql server
« Respuesta #6 en: 12 Septiembre 2009, 21:04 pm »

Terminé utilizando "SELECT MAX(id) FROM NOMBRE_TABLA" como digo raul338 ya que aunque tal vez no sea la mas prolija es la mas sencilla y me funcionó perfectamente, pero estoy seguro que todas las soluciones me hubieran servido, muchas gracias a todos por tomarse la molestia de contestar.  ;-)
Problema resuelto  ;D
« Última modificación: 12 Septiembre 2009, 21:06 pm por diego_lp » En línea

Los programadores hicimos un pacto con Dios, él no hace sistemas y nosotros no hacemos milagros!
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Protecion para registro ?[Solucionado] « 1 2 »
Dudas Generales
ANTRUCK 13 8,172 Último mensaje 28 Julio 2011, 15:57 pm
por ANTRUCK
Instalador de Drivers completo, gratuito y sin registro[SOLUCIONADO]
Windows
motocros_elche 5 70,225 Último mensaje 6 Noviembre 2011, 23:54 pm
por motocros_elche
(Solucionado) Agregar seguridad a Guestbook
PHP
2Fac3R 3 3,442 Último mensaje 26 Enero 2012, 23:11 pm
por 2Fac3R
[SOLUCIONADO] ¿ Que pinta aqui el registro si ?
ASM
lucaslopez0000 4 4,046 Último mensaje 24 Junio 2013, 17:55 pm
por lucaslopez0000
[Ayuda]Agregar registro SVR hostalia para server Minecraft
Bases de Datos
thecloudff7 0 2,972 Último mensaje 19 Enero 2017, 09:38 am
por thecloudff7
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines