PDA

Visualizza la versione completa : [DELPHI] Table is busy


zephyr
30-09-2005, 17:54
Ciao a tutti,
sto tuilizzando paradox per gestire una tabella clienti.
voglio aggiungervi un campo appena mando in esecuzione il programma.
il codice è riportato di seguito:


TClienti.Open;
if TClienti.FindField('GesMatr') = nil then begin
TClienti.Close;
with QAddField do begin
Databasename := 'cmcomposit'; //alias del database
with Sql do begin
Clear;
Add('Alter Table Clienti Add GesMatr Boolean');
end;
ExecSql;
end;
TClienti.Open;
end;


perchè quando arriva all'ExecSql mi manda a video "Table is busy" senza specificare l'utente che l'avrebbe in lock e soprattutto senza che sia aperta da nessuno?
premetto che non esistono nè i file .lck nè i file .net nella cartella che contiene la tabella.

:confused:

alka
30-09-2005, 18:23
Può darsi che la tabella sia aperta all'interno di Delphi; accertati che la proprietà Active sia impostata a False prima di eseguirlo.

Ciao! :ciauz:

zephyr
30-09-2005, 18:40
l'avevo già guardato in debug ...
non riesco a capire.
ho provato a copiare la tabella in una altra cartella e mi permette di farci la query senza problemi. ho provato anche col database desktop e mi dice che la tabella è occupata ma non ho idea di come possa esserlo.

:confused:

hai altre idee?


finchè ci sono ti chiedo un'altra cosa: conosci un modo per aggiungere un campo ad una tabella (come nel mio caso) ed impostarvi un valore di default senza dover fare un'altra query per l'update? e sai anche come potrei ordinarlo all'interno della tabella?

grazie mille.

:ciauz:

Loading