FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
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; ADOTable1.Append; ADOTable1.FieldByName('Nombre').AsString := Temp.Nombre; ADOTable1.FieldByName('Fecha').AsString := Temp.Fecha; ADOTable1.FieldByName('CodDeudor').AsString := Temp.CodDeudor; ADOTable1.FieldByName('Deudor').AsString := Temp.Deudor; ADOTable1.FieldByName('CodProd').AsString := Temp.CodProd; ADOTable1.FieldByName('Descrip').AsString := Temp.Descrip; ADOTable1.FieldByName('UM').AsString := Temp.UM; ADOTable1.FieldByName('Cantidad').AsFloat := Temp.Cantidad; ADOTable1.FieldByName('Importe').AsFloat := Temp.Importe; ADOTable1.FieldByName('Confirm').AsString := Temp.Confirm; ADOTable1.FieldByName('Comprado').AsString := Temp.Comprado; ADOTable1.FieldByName('Ubicado').AsString := Temp.Ubicado; ADOTable1.FieldByName('CodUbicado').AsString := Temp.CodUbicado; ADOTable1.FieldByName('FechaModif').AsString := Temp.FechaModif; ADOTable1.Post; ADOTable1.Active := False;
__________________
Lester Espinosa Martínez [ Guía de estilo | La otra guía de estilo | Buscador | Trucos | My personal blog ] |
#2
|
||||
|
||||
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
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
#3
|
||||
|
||||
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...
__________________
Lester Espinosa Martínez [ Guía de estilo | La otra guía de estilo | Buscador | Trucos | My personal blog ] |
#4
|
||||
|
||||
Y si usas este codigo?
Código:
ADOTable1.Close; ADOTable1.Open; ADOTable1.Append; ADOTable1.FieldByName('Nombre').AsString := Temp.Nombre; ADOTable1.FieldByName('Fecha').AsDate := Temp.Fecha; ADOTable1.FieldByName('CodDeudor').AsString := Temp.CodDeudor; ADOTable1.FieldByName('Deudor').AsString := Temp.Deudor; ADOTable1.FieldByName('CodProd').AsString := Temp.CodProd; ADOTable1.FieldByName('Descrip').AsString := Temp.Descrip; ADOTable1.FieldByName('UM').AsString := Temp.UM; ADOTable1.FieldByName('Cantidad').AsFloat := Temp.Cantidad; ADOTable1.FieldByName('Importe').AsFloat := Temp.Importe; ADOTable1.FieldByName('Confirm').AsString := Temp.Confirm; ADOTable1.FieldByName('Comprado').AsString := Temp.Comprado; ADOTable1.FieldByName('Ubicado').AsString := Temp.Ubicado; ADOTable1.FieldByName('CodUbicado').AsString := Temp.CodUbicado; ADOTable1.FieldByName('FechaModif').AsDate := Temp.FechaModif; ADOTable1.Post; ADOTable1.Close; Espero que te sirva.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
#5
|
|||
|
|||
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 |
#6
|
|||
|
|||
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
__________________
Luciano Compartir el conocimiento tambien es aprender |
#7
|
||||
|
||||
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...
__________________
Lester Espinosa Martínez [ Guía de estilo | La otra guía de estilo | Buscador | Trucos | My personal blog ] |
#8
|
|||
|
|||
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 |
#9
|
||||
|
||||
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,
__________________
Lester Espinosa Martínez [ Guía de estilo | La otra guía de estilo | Buscador | Trucos | My personal blog ] |
|
|
|