Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-10-2003
vetustas vetustas is offline
Miembro
 
Registrado: oct 2003
Posts: 77
Poder: 21
vetustas Va por buen camino
Question Corrupt Index???

Hola y gracias de antemano!

A ver...uso el delphi 5 y estoy con bases de datos Paradox. Me gustaria usar códigos para cada elemento nuevo de cada tabla. No se si me explico bien. Tengo alumnos en una tabla y me gustaria que cada vez que crease un alumno se asignara un codigo. Y asi con cada profesor y demás cosas. Había puesto en la definición de datos que el campo codigo_alumno fuese de tipo autoincrement pero es que ahora me encuentro con que al estar cargando un fichero excel a la base de datos me da el siguiente error: "Corrupt Index. Table: c:\...\Alumno.PX". No se si tendrá que ver con eso pero es muy extraño porque al principio me carga bien y cuando pasa un tiempo (es decir cuando ejecuto lo de cargar varias veces) pues me sale este error. Alguien sabe explicarme porque ocurre? Y bueno, pues si teneis alguna idea mejor que esa del autoincrement para los codigos...soy toda oidos

Muchiiiisimas gracias
Responder Con Cita
  #2  
Antiguo 19-10-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
En un principio no tiene nada que ver el utilizar un campo autoincrementado, con que te de el error de índice corrupto.

Supongo que desde excel solamente visualizas los datos, porque no es buena idea abrir una tabla Paradox desde Excel ya que si efectuas cambios no te actualiza el índice y ahí puede estar el motivo que apuntas.

Solución si solamente es esto, borra el índice manualmente abre la tabla con el DatabaseDesktop y vuelve a crearlo, existen utilerías que realizan esta función, no tienes más que buscar en Google por ejemplo.

Por otra parte lo del campo autoincremental para poner códigos no me parece buena idea, lo mejor es o guardar en una tabla el último número utilizado e incrementarlo en 1 cada vez que se de un alta, o lanzar un SQL contra la tabla en cuestión y ver cual es el último número y también sumarle uno.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 19-10-2003
vetustas vetustas is offline
Miembro
 
Registrado: oct 2003
Posts: 77
Poder: 21
vetustas Va por buen camino
Hola de nuevo y muchas gracias por contestar

Lo que yo hago con Excel es abrir el fichero y guardar los datos de las columnas del fichero en mis tablas Paradox. Eso lo hago siguiendo un código que vi publicado en este foro.

Me comentas que mejor usar una consulta SQL pa saber cual es el siguiente codigo que tengo que poner. Es mucho pedir que me escribas aqui la consulta?

gracias y salu2
Responder Con Cita
  #4  
Antiguo 20-10-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Con una Tabla Auxiliar:

nAlumno:=MiTablaAuxiliarNumero.Value +1;

Esto puede ir en el evento BeforeInsert del ttable por ejemplo.

Con una consulta:

Select numero from alumnos;
Alumnos.Last;
nAlumno:=Query1.Fields[0].value;

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 21:50:37.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi