Erreur d'une requete sur interbase

Signaler
Messages postés
3
Date d'inscription
jeudi 7 juillet 2005
Statut
Membre
Dernière intervention
10 août 2005
-
Messages postés
228
Date d'inscription
lundi 5 avril 2004
Statut
Membre
Dernière intervention
25 octobre 2006
-
Bonjour à tous
Voila je voudrais faire une petite appli qui modifie une table interbase (créer une nouvelle colonne). voici mon code :

procedure TForm1.Button1Click(Sender: TObject);
begin
IBQuery1.Create(NIL);
IBDatabase1.create(NIL);
IBDatabase1.connected:=false;
IBDatabase1.DatabaseName:=databasetest;
IBDatabase1.Params.Add('USER_NAME=SYSDBA');
IBDatabase1.Params.Add('PASSWORD='+Password);
IBDatabase1.LoginPrompt:=false;
IBDatabase1.Connected:=true;
with IBQuery1 do
begin
Transaction:=TIbTransaction.Create(Nil);
Transaction.DefaultDatabase:= IBDatabase1;
close;
SQL.Clear;
SQL.add('ALTER TABLE P1XXXXX ADD DEMANDEUR2 varchar(30) NOT NULL');
try
ExecSQL;
Transaction.Commit;
Edit1.Text:='P1.........ok';
except on E:exception do
begin showmessage('marche pas');
Transaction.Rollback;
end;
end;
end;
IBDatabase1.connected:=false;
end;

Bon très bien la tables est bien modifiée mais le problème intervient quand je veux fermer mon appli j'ai une erreur qui me dit: 'Erreur ElistERROR, indice de liste hors limite (0)'

Je sais vraiment pas d'ou ca peu venir. Voila mon code quand je veux fermer mon appli:

procedure TForm1.Button2Click(Sender: TObject);
begin
IBQuery1.Close;
form1.close;
end;

Si quelqu'un à une idée elle est la bien venu parce que là je suis à court....
Merci d'avance

vincent

1 réponse

Messages postés
228
Date d'inscription
lundi 5 avril 2004
Statut
Membre
Dernière intervention
25 octobre 2006

Je te conseillerai de télécharger la dernière version des composants
IBExpress et d'utiliser le composant IBScript qui te permet d'exécuter
plusieurs lignes de requêtes.



Je constate également que tu ne fermes pas IBQuery1 après ajouter la
colonne mais que tu fermes directement la base de données. Il y a
peut-être quelque chose là.


Et comme disait ma grand-mère : il y a toujours du soleil derrière les nuages.

Vincent Stryckmans.