![]() |
Error en conexión en tiempo de ejecución !!
Hola amigos...
Ahora se me presentó este extraño problemita... En tiempo de ejecución dentro del Delphi cuando establezco la conexión con el componente ADO me sale este error: Cita:
Código:
ADOTable1.Active := True; |
Verifica que Temp.Cantidad, sea de tipo flotante,
pues generalmente la cantidad siempre es Entera y quedaria asi: ADOTable1.FieldByName('Cantidad').AsInteger := Temp.Cantidad; Si no funciona pues entonces verifica con un Break point el lugar donde esta el error |
Hola nuevamente...
Coloqué un BreakPoint para tracearlo y el error me sale en la línea donde establezco la conexión con la base de datos, o sea, donde la activo... Código:
ADOTable1.Active := True; Vuelvo a repetir que cuando ejecuto la aplicación fuera del Delphi no me da ningún error...:confused: |
Y si usas este codigo?
Código:
ADOTable1.Close; Espero que te sirva. |
Si tienes campos persistentes (o sea, TFields creados) y has cambiado algun tipo de dato, verifica que coincidan los tipos de los campos persistentes con los de la BD, a ver si puede ser eso
Suerte |
Hola,
Si el problema lo tienes al activar el DataSet, es probable que tengas un campo agregado dentro de este DataSet que sea de tipo diferente al de la tabla de la base de datos. Esto te puede haber ocurrido si has cambiado el tipo de algún campo en la tabla de la base de datos y no lo has cambiado en el DataSet. Prueba a quitar todos los campos del DataSet y volverlos a agregar. Suerte y un saludo |
Bueno amigos agradezco mucho la ayuda que me han brindado, pero no se me ha podido resolver el problemita, pero no importa..., yo lo sigo corriendo desde afuera del Delphi...
Ahora me surge una nueva interrogante, tengo realizada la conexión a la BD hecha en Access con los componentes ADO, y quisiera saber cómo puedo saber el número del registro en el cual me encuentro actualmente. Me explico, es para una búsqueda..., yo muestro por pantalla todos los registros y cada uno de ellos tiene un número de índice en la tabla, lo que quiero hacer es buscarlos por el número donde se encuentra en esa tabla, pues si hago un campo (AUTONUMERICO) luego cuando borro algún registro no se me renumera, ni sé como hacerlo, si me pudieran tirar un cabo con eso se los agradecería mucho... Ej: Nombre Sexo Edad Lester M 23 (#1) Cualquiera F 50 (#2) Otro M 68 (#3) Si creara un campo (AUTONUMERICO) y borrara algún registro me quedaría de la siguiente forma: Ej: ID Nombre Sexo Edad 1 Lester M 23 (#1) 2 Cualquiera F 50 (#2) <------ Si elimino este 3 Otro M 68 (#3) Quedaría: ID Nombre Sexo Edad 1 Lester M 23 (#1) 3 Otro M 68 (#3) <------ No se me renumera Gracias de antemano...:confused: |
Puedes hacer esto
1.- antes de borrar guardas la Id del registro en una variable 2.- borras el registro (con un SQL de Delete o con un Tabla.Delete) 3.- lanzas una sentencia SQL de Update para modificar los registros posteriores Código:
update tabla set id = id - 1 where id > variable |
Cadetill:
Un millón de gracias hermano, ya resolví lo de la conexión, estaba bobeando, era como tú decías... En cuanto a último que me escribiste no lo he implementado todavía, luego lo voy a hacer y después te digo...¿OK? Gracias nuevamente de un amigo Cubano..., lo que necesites tíralo para acá a ver si alguna vez te logro tirar un cabo... Salu2, |
La franja horaria es GMT +2. Ahora son las 21:32:30. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi