PDA

Ver la Versión Completa : como cerrar una base de datos con ADO


viajero2015
04-11-2003, 23:44:43
Hola amigos, quiero compactar una BD que la abri con ADO, utilizando
el procedimiento

conexion1 es la que uso de mi BD y la conexao2 es la BD nueva compactada.

JE.CompactDatabase(conexao1, Conexao2);

pero antes yo hago esto

if CustomerData.ADOConnection1.Connected then
begin
CustomerData.ADOConnection1.KeepConnection:=false;
CustomerData.ADOConnection1.Close;
CustomerData.ADOConnection1.Connected:=false;
CustomerData.ADOConnection1.ConnectionString:='';
for i:=0 to CustomerData.ADOConnection1.DataSetCount-1 do
CustomerData.ADOConnection1.DataSets[i].Close;


o sea cierro toda las tablas peor cuando pasa por el proc
CompactDatabase(conexao1, Conexao2); se me genera un error que la BD esta siendo usada por el user Admin que debo cerrarla, entonces mi pregunta es cuando doy un close al DOConnection1 no la estoy cerrando?.

que debo hacer antes, por favor me urge.
gracias de antemano.
TOMAS

marcoszorrilla
05-11-2003, 07:49:20
Si las tablas se conectan a través del AdoConnection, como es lógico, no es necesario cerrarlas, el cerrar la conexión implica que se cierran automáticamente las tablas.

En cuanto al error que te marca, puede deberse a que el IDE de Delphi es otro usuario más, cierra Delphi y ejecuta el programa exe que has creado y normalmente no tiene porque producirse dicho error.

Un Saludo.