Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Autoincrementar El Id
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Autoincrementar El Id 
 
Hola. Tengo gambas 2 y quería saber de que forma puedo hacer para incrementar automáticamente el id de mi base de datos, es decir, cada vez que ingreso un dato a la tabla que aumente el id.

Lo que intente es
res = cn.Exec("Select * From Pedidos")
  id = res.Count + 1
  res.MoveFirst
  TRY cn.Exec("insert into Pedidos value (&1,&2,&3,&4,&5,&6,&7,&8,&9,&10)", Id, Txt_titulo.Text, Txt_cliente.Text, cmb_monitoreo.Text, cmb_prioridad.Text, cmb_estado.text, txt_fecha.text, txt_direccion.text, txt_ciudad.text, txta_ticket.t entradaext)

pero el problema esta en que cuando borro un registro me tira error porque dice que no se puede duplicar el id 2.

Y también intente lo siguiente
res.MoveLast
  id = res["Id"] + 1
  cn.Exec("insert into Pedidos value (&1,&2,&3,&4,&5,&6,&7,&8,&9,&10)", Id, Txt_titulo.Text, Txt_cliente.Text, cmb_monitoreo.Text, cmb_prioridad.Text, cmb_estado.text, txt_fecha.text, txt_direccion.text, txt_ciudad.text, txta_ticket.text)

y en este caso pasa lo mismo porque ingreso un valor y ese valor queda ubicado en la primera ubicación en la tabla de la base de datos entonces el ultimo valor en este caso es 2 y me tira error diciendo que no se puede duplicar el valor 3.
y si o si tiene que tener un id primario porque sino no lo puedo editar. Agradezco su ayuda
 



 
alan - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Autoincrementar El Id 
 
hola:

no se si te refieres a incrementar un campo dentro de una base de datos.

si es así...

si trabajas en mysql o sql, tienes que crear un campo id, con  característica de índice y autoincremento  (dentro de la base de datos)

si utilizas phmyadmin, son los cajoncitos que hay al final de cada campo, en extructura.

de esa manera, cada vez que metas un dato en la base de datos, este se autoincrementará en 1

en caso de no resolver el problema, o que sea otro distinto, indica mas datos, para poder ayudarte

Un saludo
 



 
tururu - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Autoincrementar El Id 
 
Hola Alan

   Te comento. Lo más adecuado es dejar esa tarea a la propia base de datos. Si tu base es SQLite3, coloca el campo ID de tipo Serial y listo. Ahora, si es SQLite2 creo que no lo hace y debes hacerlo manualmente. Yo haría una consulta  para buscar el valor máximo del campo ID. Así cutre sería como comento ahora, pero SQL tiene algunas opciones que te permiten calcular algunos valores y seguro que hay alguna función para saber este valor máximo más facilmente. Bueno, aquí el ejemplo:

DIM strsql as string
DIM iNuevoId as integer
strsql = "SELECT * FROM tabla ORDER BY id"
res = cn.Exec(strsql)
if res.count>0 then
   res.MoveLast
   iNuevoId = res["id"] + 1
else
   iNuevoId=1
end if
 

 




===================
Proyecto Open Media Manager -> http://www.OpenMediaManager.com
 
netking86 - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Autoincrementar El Id 
 
Lo que podrias hacer la siguiente consulta

        select max(id) + 1  as id from productos;
 


el esta consulta te ira mostrando el ultimo id insertado + 1, es un poco deficiente pero sirve lo otro seria como comentaron arriba asignar un campo tipo serial en tu base datos y a la hora de insertar este se incrementa solo, Espero que sea de utilidad.
 



 
gara_pm - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Autoincrementar El Id 
 
Gracias por la ayuda... Solucionado       
 



 
alan - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron