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 22-04-2006
salvanano salvanano is offline
Miembro
 
Registrado: abr 2005
Posts: 92
Poder: 20
salvanano Va por buen camino
Mensaje de error al finalizar aplicacion

Hola, no se si este post va aqui, pero como mi programa gestiona una base de datos e supuesto que el fallo estara relacionado con la base de datos.
bueno al grano, mi problema es que al finalizar mi aplicacion me sale el mensaje de error "exception eaccessviolation in module idobdc32.dll at 00026234.
access violation at address 4da06234 in module idodbc32.dll. read of address cccccce0".
Alguien sabria decirme de que se trata y que solución tiene?
Gracias de antemano.
Responder Con Cita
  #2  
Antiguo 22-04-2006
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
Checa Esto....

Posiblemente estes accesando a alguna tabla, query, datamodule, etc. que no este CREADO.

Saludos....
Responder Con Cita
  #3  
Antiguo 23-04-2006
salvanano salvanano is offline
Miembro
 
Registrado: abr 2005
Posts: 92
Poder: 20
salvanano Va por buen camino
No es ese el problema

Ese no es el problema, todas las tablas que tengo declaradas estan siendo utilizadas y desactivadas a la vez que no se utilizan, y a la hora de cerrar la aplicación es cuando me da el error
Responder Con Cita
  #4  
Antiguo 24-04-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Lo que Agag4 quiere decir es que revises el orden de creación y destrucción de los componentes, Datamodules, Forms, etc.

Puede que estes destruyendo el Datamodule, y despues intentes cerrar una tabla que está en el Datamodule.

Suele ser ese tipo de cosas las que dan el error despues del end.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #5  
Antiguo 03-05-2006
salvanano salvanano is offline
Miembro
 
Registrado: abr 2005
Posts: 92
Poder: 20
salvanano Va por buen camino
Question Codigo que da el error

El problema viene cuando manejo una tabla determinada (table12), mientras no toque ese tabla el programa no da ningun problema, por lo que os dejo aqui el codigo donde manipulo dicha tabla a ver si ustedes son capaces de ver el fallo. A mi me trae de cabeza.
Saludos
Código Delphi [-]
procedure TForm17.Button1Click(Sender: TObject);
begin
//coloco la fecha en su campo
DBEdit9.Text:= DateToStr(Date);
table10.Post;
// Registro en la tabla auxiliar para imprimir después
if dblookupcombobox1.Text<>'' then
begin
Table1.IndexFieldNames:= 'DESCRIPCION';
if Table1.FindKey([DBLooKupComboBox1.Text])=True then
Table12.Edit;
Table12.FieldByName('CANTIDAD').AsFloat:= StrToFloat(Form17.Edit6.Text);
Table12.FieldByName('DESCRIPCION').AsString:= Table1.FieldByName('DESCRIPCION').AsString;
Table12.FieldByName('PRECIO').AsFloat:= Table1.FieldByName('PRECIO').AsFloat;
Table12.FieldByName('SUBTOTAL').AsFloat:= Table1.FieldByName('PRECIO').AsFloat * StrToFloat(Form17.Edit6.Text);
end;
//-------------------------------------------------------------
if dblookupcombobox2.Text<>'' then
begin
Table2.IndexFieldNames:= 'DESCRIPCION';
if Table2.FindKey([DBLooKupComboBox2.Text])=True then
Table12.Insert;
Table12.FieldByName('CANTIDAD').AsFloat:= StrToFloat(Form17.Edit7.Text);
Table12.FieldByName('DESCRIPCION').AsString:= Table2.FieldByName('DESCRIPCION').AsString;
Table12.FieldByName('PRECIO').AsFloat:= Table2.FieldByName('PRECIO').AsFloat;
Table12.FieldByName('SUBTOTAL').AsFloat:= Table2.FieldByName('PRECIO').AsFloat * StrToFloat(Form17.Edit7.Text);
end;
//-------------------------------------------------------------
if dblookupcombobox3.Text<>'' then
begin
Table3.IndexFieldNames:= 'DESCRIPCION';
if Table3.FindKey([DBLooKupComboBox3.Text])=True then
Table12.Insert;
Table12.FieldByName('CANTIDAD').AsFloat:= StrToFloat(Form17.Edit8.Text);
Table12.FieldByName('DESCRIPCION').AsString:= Table3.FieldByName('DESCRIPCION').AsString;
Table12.FieldByName('PRECIO').AsFloat:= Table3.FieldByName('PRECIO').AsFloat;
Table12.FieldByName('SUBTOTAL').AsFloat:= Table3.FieldByName('PRECIO').AsFloat * StrToFloat(Form17.Edit8.Text);
end;
//-------------------------------------------------------------
if dblookupcombobox4.Text<>'' then
begin
Table4.IndexFieldNames:= 'DESCRIPCION';
if Table4.FindKey([DBLooKupComboBox4.Text])=True then
Table12.Insert;
Table12.FieldByName('CANTIDAD').AsFloat:= StrToFloat(Form17.Edit9.Text);
Table12.FieldByName('DESCRIPCION').AsString:= Table4.FieldByName('DESCRIPCION').AsString;
Table12.FieldByName('PRECIO').AsFloat:= Table4.FieldByName('PRECIO').AsFloat;
Table12.FieldByName('SUBTOTAL').AsFloat:= Table4.FieldByName('PRECIO').AsFloat * StrToFloat(Form17.Edit9.Text);
end;
//-------------------------------------------------------------
if dblookupcombobox5.Text<>'' then
begin
Table5.IndexFieldNames:= 'DESCRIPCION';
if Table5.FindKey([DBLooKupComboBox5.Text])=True then
Table12.Insert;
Table12.FieldByName('CANTIDAD').AsFloat:= StrToFloat(Form17.Edit10.Text);
Table12.FieldByName('DESCRIPCION').AsString:= Table5.FieldByName('DESCRIPCION').AsString;
Table12.FieldByName('PRECIO').AsFloat:= Table5.FieldByName('PRECIO').AsFloat;
Table12.FieldByName('SUBTOTAL').AsFloat:= Table5.FieldByName('PRECIO').AsFloat * StrToFloat(Form17.Edit10.Text);
end;
//-------------------------------------------------------------
if dblookupcombobox6.Text<>'' then
begin
Table6.IndexFieldNames:= 'DESCRIPCION';
if Table6.FindKey([DBLooKupComboBox6.Text])=True then
Table12.Insert;
Table12.FieldByName('CANTIDAD').AsFloat:= StrToFloat(Form17.Edit11.Text);
Table12.FieldByName('DESCRIPCION').AsString:= Table6.FieldByName('DESCRIPCION').AsString;
Table12.FieldByName('PRECIO').AsFloat:= Table6.FieldByName('PRECIO').AsFloat;
Table12.FieldByName('SUBTOTAL').AsFloat:= Table6.FieldByName('PRECIO').AsFloat * StrToFloat(Form17.Edit11.Text);
end;
//-------------------------------------------------------------
if dblookupcombobox7.Text<>'' then
begin
Table7.IndexFieldNames:= 'DESCRIPCION';
if Table7.FindKey([DBLooKupComboBox7.Text])=True then
Table12.Insert;
Table12.FieldByName('CANTIDAD').AsFloat:= StrToFloat(Form17.Edit12.Text);
Table12.FieldByName('DESCRIPCION').AsString:= Table7.FieldByName('DESCRIPCION').AsString;
Table12.FieldByName('PRECIO').AsFloat:= Table7.FieldByName('PRECIO').AsFloat;
Table12.FieldByName('SUBTOTAL').AsFloat:= Table7.FieldByName('PRECIO').AsFloat * StrToFloat(Form17.Edit12.Text);
end;
//-------------------------------------------------------------
if dblookupcombobox8.Text<>'' then
begin
Table8.IndexFieldNames:= 'DESCRIPCION';
if Table8.FindKey([DBLooKupComboBox8.Text])=True then
Table12.Insert;
Table12.FieldByName('CANTIDAD').AsFloat:= StrToFloat(Form17.Edit13.Text);
Table12.FieldByName('DESCRIPCION').AsString:= Table8.FieldByName('DESCRIPCION').AsString;
Table12.FieldByName('PRECIO').AsFloat:= Table8.FieldByName('PRECIO').AsFloat;
Table12.FieldByName('SUBTOTAL').AsFloat:= Table8.FieldByName('PRECIO').AsFloat * StrToFloat(Form17.Edit13.Text);
end;
//-------------------------------------------------------------
if dblookupcombobox9.Text<>'' then
begin
Table9.IndexFieldNames:= 'DESCRIPCION';
if Table9.FindKey([DBLooKupComboBox9.Text])=True then
Table12.Insert;
Table12.FieldByName('CANTIDAD').AsFloat:= StrToFloat(Form17.Edit14.Text);
Table12.FieldByName('DESCRIPCION').AsString:= Table9.FieldByName('DESCRIPCION').AsString;
Table12.FieldByName('PRECIO').AsFloat:= Table9.FieldByName('PRECIO').AsFloat;
Table12.FieldByName('SUBTOTAL').AsFloat:= Table9.FieldByName('PRECIO').AsFloat * StrToFloat(Form17.Edit14.Text);
end;
end;

Última edición por vtdeleon fecha: 03-05-2006 a las 21:47:30.
Responder Con Cita
  #6  
Antiguo 03-05-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Mi madrea SANTISIMA. Por favor usas las etiquetas. Esta vez lo haré por ti, edita tu código para que veas como se utiliza.

Tambien trata de identar el codigo
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!

Última edición por vtdeleon fecha: 03-05-2006 a las 21:50:06.
Responder Con Cita
  #7  
Antiguo 07-05-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Lo del Post era un fallo independiente del error que te dá, me cito a mi mismo:

Cita:
Empezado por Lepe
Lo que Agag4 quiere decir es que revises el orden de creación y destrucción de los componentes, Datamodules, Forms, etc.

Puede que estes destruyendo el Datamodule, y despues intentes cerrar una tabla que está en el Datamodule.

Suele ser ese tipo de cosas las que dan el error despues del end.
Incluso puede ser que delphi sea el que está intentando cerrar esa tabla. Si tu dejas una tabla que tienes en un Form abierta, y primero se destruye el datamodule, delphi cerrará la tabla en el Datamodule, cuando se vaya a destruir ese Form, puede dar un error de ese tipo.

Este tipo de errores son los más dificiles de encontrar.... no hace falta que lo diga ¿verdad?

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #8  
Antiguo 07-05-2006
salvanano salvanano is offline
Miembro
 
Registrado: abr 2005
Posts: 92
Poder: 20
salvanano Va por buen camino
Smile error en aplicación

Entonces debría destruir o cerrar la tabla antes de cerrar el datamodule?
La verdad es que me está costando bastante solucionar este problemilla, es el más dificil con el que me he encontrado hasta el momento .
Seguire probando a ver si lo soluciono. Mientras tanto espero sus consejos.
Saludos
Responder Con Cita
  #9  
Antiguo 09-05-2006
Avatar de waltergomez
waltergomez waltergomez is offline
Miembro
 
Registrado: may 2006
Posts: 202
Poder: 18
waltergomez Va por buen camino
Lo podiste solucionar ?
Si estas con el problema, decime que base de datos usas (la estructura de la tabla con la instruccion CREATE TABLE ...), que componentes delphi usas (creo que son tables y si es asi usas BDE).

Saludos,
Responder Con Cita
  #10  
Antiguo 24-05-2006
salvanano salvanano is offline
Miembro
 
Registrado: abr 2005
Posts: 92
Poder: 20
salvanano Va por buen camino
Smile Por fin!!!!!!!!

No soy capaz de solucionarlo.
utilizo una base de datos en acces con un bde y 12 tables con sus correspondientes datasource, todo en un mismo form.
Parte del codigo esta arriba, y es donde me da error.saludos

Última edición por salvanano fecha: 24-05-2006 a las 01:26:59.
Responder Con Cita
  #11  
Antiguo 24-05-2006
Avatar de Paoti
Paoti Paoti is offline
Miembro
 
Registrado: may 2003
Ubicación: Monterrey. N.L., México
Posts: 612
Poder: 21
Paoti Va por buen camino
viendo tu código, posiblemente este sea el el error.

Código Delphi [-]
if dblookupcombobox9.Text<>'' then
begin
Table9.IndexFieldNames:= 'DESCRIPCION';
if Table9.FindKey([DBLooKupComboBox9.Text])=True then
Table12.Insert;
Table12.FieldByName('CANTIDAD').AsFloat:= StrToFloat(Form17.Edit14.Text);
Table12.FieldByName('DESCRIPCION').AsString:= Table9.FieldByName('DESCRIPCION').AsString;
Table12.FieldByName('PRECIO').AsFloat:= Table9.FieldByName('PRECIO').AsFloat;
Table12.FieldByName('SUBTOTAL').AsFloat:= Table9.FieldByName('PRECIO').AsFloat * StrToFloat(Form17.Edit14.Text);
end;

Si te fijas :


Busscas el registro

Código Delphi [-]
Table9.IndexFieldNames:= 'DESCRIPCION';
if Table9.FindKey([DBLooKupComboBox9.Text])=True then
Table12.Insert;

y lo "guardas" temporalmente.

Pero si no lo encuentra, de todos modos guardas vaya saber que cosa.

Código Delphi [-]
Table12.FieldByName('CANTIDAD').AsFloat:= StrToFloat(Form17.Edit14.Text);
Table12.FieldByName('DESCRIPCION').AsString:= Table9.FieldByName('DESCRIPCION').AsString;
Table12.FieldByName('PRECIO').AsFloat:= Table9.FieldByName('PRECIO').AsFloat;
Table12.FieldByName('SUBTOTAL').AsFloat:= Table9.FieldByName('PRECIO').AsFloat * StrToFloat(Form17.Edit14.Text);
end;



saludos.

Y si haces un insert, haz un post.
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás...

análisis de información
análisis y diseño de sistemas

Paoti Rios Reséndiz
Responder Con Cita
  #12  
Antiguo 24-05-2006
Avatar de judit25
judit25 judit25 is offline
Miembro
 
Registrado: abr 2006
Ubicación: Bronx, NY
Posts: 122
Poder: 19
judit25 Va por buen camino
Código Delphi [-]
begin
Table1.IndexFieldNames:= 'DESCRIPCION';
if Table1.FindKey([DBLooKupComboBox1.Text])=True then

begin // aqui iria por ej en esta sentencia

Table12.Edit;
Table12.FieldByName('CANTIDAD').AsFloat:= StrToFloat(Form17.Edit6.Text);
Table12.FieldByName('DESCRIPCION').AsString:= Table1.FieldByName('DESCRIPCION').AsString;
Table12.FieldByName('PRECIO').AsFloat:= Table1.FieldByName('PRECIO').AsFloat;
Table12.FieldByName('SUBTOTAL').AsFloat:= Table1.FieldByName('PRECIO').AsFloat * StrToFloat(Form17.Edit6.Text);

end // aqui termina
end;

No se si podría ayudarte esto pero intenta agregando un begin end entre cada sentencia IF que utilizas, así solamente cuando se cumpla la condición él pasara por ahí y hará el insert en la tabla.

saludos
Responder Con Cita
  #13  
Antiguo 25-05-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Sería bueno que postearas el código con las correcciones hechas.

Por otra parte, quizás sea conveniente que comentes como funciona la aplicación y si usas componentes de terceros.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Finalizar una Condición jdangosto OOP 3 02-12-2005 08:57:38
Mensaje de error majosf Conexión con bases de datos 2 16-11-2005 20:25:46
Mensaje de error Luli Varios 3 31-10-2005 13:59:02
Mensaje de error Ana Tudela Conexión con bases de datos 1 14-09-2004 16:47:43
¿Cómo finalizar una aplicación desde la mía? Lester Varios 7 10-11-2003 22:49:28


La franja horaria es GMT +2. Ahora son las 12:46:01.


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