PDA

Ver la Versión Completa : campo autoincremental


Jheysson13
08-12-2006, 18:23:26
salu2 nuevamente.

no se si es torpesa mia o que , pero he visto en varias ocaciones que se refieren a los campos autoincremental como si estos tomaran su valor por si solo. Es por eso que digo si es torpesa mia por que cuando creo un campo auto incremental lo creo mediante un codigo en mi aplicacion.

ejem:
tabla.insert;
tabla.last;
label1.caption:=inttostr(tablacampoclave.value+1);

pero si esta es una forma algo tonta me gustaria que me aclararan eso de los campos auto incremental.
a esto lo hago en paradox, pero estoy empesando a usar firebird si es posible podrian darme un ejemplo en ambas formas gracias.
salu2:):)

luisgutierrezb
08-12-2006, 18:31:56
muchas veces manejamos los campos autoincrementales segun el tipo de servidor de bases de datos, por ejemplo el mssql se llaman identidades y se hace automatico, en interbase-firebird, puedes usar los generadores y un trigger para asignar el valor automatico, todo esto tiene sus ventajas y desventajas

kalisto
08-12-2006, 20:33:35
una de las cosas por las que se caracteriza paradox es precisamente por los campos autoincrementados.

Unicamente tienes que definirlo al crear la tabla, o modificarlo posteriormente, por ejemplo con database desktop.

Jheysson13
09-12-2006, 19:02:51
hola , quisas no fui muy claro pero es que no se como es que se crean loscampos autoincremental, mediante database desktop o mediante IBexper para firebird, no se manejar los trigger y no se la forma de crearlo en paradox con el database desktop.

ya mas arriba explique como lo creaba anteriormente.:confused:
si pudieran darme un ejemplo me seria suficiente o talves darme alguna guia o hilo sobre el tema gracias.
salu2.

AzidRain
09-12-2006, 21:37:15
Un campo autoincrementado se define al crear la estructura de una tabla. Esto para Paradox y cualquier otro gestor (MySQL, MSQL, etc.) En el database desktop cuando creas la tabla le debes marcar con una palomita el checkbox que dice "autoinc" para que paradox se encargue de aumentar en 1 el campo cada vez que insertas un registro.

En bases de datos basadas en SQL como MySQL inclusive puedes indicar el valor inicial del campo si no quieres que sea 0. Ojo, ten cuidado con el tipo de datos númerico que utilices y la precision del mismo ya que por ejemplo si escoges solo 3 cifras, tu valor máximo sera de 999.

Saludos

Jheysson13
13-12-2006, 19:33:44
Esto para Paradox y cualquier otro gestor (MySQL, MSQL, etc.) En el database desktop cuando creas la tabla le debes marcar con una palomita el checkbox que dice "autoinc"
pero no sè si soy yo o eres tu elde elerror,esque no veo en el database destok diche opcion que dice "autoinc".:confused:

salu2.

AzidRain
13-12-2006, 21:50:31
Bueno no recuerdo bien, pero una imagen vale mas que 1000 palabras:

http://img481.imageshack.us/img481/819/autoincod7.png (http://imageshack.us)

Jheysson13
13-12-2006, 22:05:51
jejejej. tienes toda la razon, una imagen vale mas que palabras. pero si desde un principio me dices que debia de declarar el campo de este tipo, te hubiera entendido imediatamente, perdona por la molestia y gracias de todos modos.
:)gracias

AzidRain
13-12-2006, 22:35:34
Bueno, pero lo importante es que ya quedo solucionada la duda...;)