Delphi et interbase

josswel Messages postés 67 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 3 juin 2009 - 23 juin 2005 à 12:01
josswel Messages postés 67 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 3 juin 2009 - 27 juil. 2005 à 14:57
voila je voudrai afficher comme etant les caption de column d'un
composant berg qui est le gridview les noms de champs d'un table
interbase je me suis connecte part un Ttable et et un Tdatabase .Mais
il fait erreur alors voila je l'ai un peu modifier pour l'affiche dans
un msgbox mais le pb reste alors kelkun peut m'aide ?



with Database1 do

begin

DatabaseName := 'MyAlias';

DriverName := 'INTRBASE';

Params.Clear;

Params.Add('SERVER NAME=C:\\mydb.GDB');

Params.Add('USER NAME=SYSDBA');

Params.Add('PASSWORD=masterkey');

LoginPrompt := False;

Connected := True;

end;

table1.TableName := 'employee' ;

table1.Open ;

for i:= 0 to table1.FieldDefs.Count -1 do

begin


showmessage( 'chp:' + table1.Fields[i].FieldName );


// typ_chp := table1.Fields [i].DataType ;

end;



dite moi ce qui cloche s'il vous plais .

merci soyez tolerans car je debute en delphi

3 réponses

vincentstryckmans Messages postés 228 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 25 octobre 2006
24 juin 2005 à 12:55
A voir ton code, tu utilises le BDE de Borland qui pour moi n'est pas
un foudre de guerre ni quelque chose de stable et performant.

Pour travailler avec Interbase depuis Delphi, tu dois utiliser les
composants d'InterBaseExpress. Ils s'utilisent comme ceux du BDE :

TIBDataBase, TIBTable, ...



Voici en gros quels trucs et rermarques que je peux te donner (cela
fait trois ans que j'utilise le couple delphi/interbase et j'ai encore
de drôles de suprises parfois )




<li>Ne jamais encoder de mot de passe et de nom d'utilisateur dans ton code.</li>
<li>masterkey est le mot de passe standard pour le SYSDBA = grand
manitou qui peut tout faire. Donc il faut que tu le changes illico
presto.</li>
<li>On accède à un serveur SQL via des requêtes et non pas
directement aux tables. C'est vachement plus rapide et plus performant.
Le composant TIBDataset te permet de faire un select, un insert, un
modify et un delete sur les données de ta requête.</li>
<li>On communique avec un serveur SQL via une transaction qui doit
normalement être propre à chaque requête. Si tu as 5 TIBDataset, tu
dois avoir 5 TIBTransaction correspondants.

Une transaction te permet d'éviter e.a. le travail à plusieurs
utilisateurs sur les mêmes données, la perte de données dans ce cas, ...

Une transaction se confirme (COMMIT) ou revient en arrière (ROLLBACK).
cela signifie e.a. que temps qu'un utilisateur n'a pas fait de COMMIT
sur une transaction, les modifs faites aux tables durant cette
transaction seront invisbales pour les autres utilisateurs.</li>
<li>Chaque utilisateur doit être reconnu par le serveur interbase et doit avoir les droits d'accès aux tables, procédures, ...

La commande SQL GRANT te permet de définir ces droits d'accès : lecture, effacer, insérer, ...

Regarde également la commande ROLE qui, en gros, permet de créer un
alias de droit d'accès et les utilisateurs ont le droit d'accès à cet
alias</li>

Je pourrais encore continuer longtemps comme cela, mais à toi de lire
la doc d'interbase et d'aller sur le site de borland pour trouver des
infos.

Sur www.devellopez.com, tu vas trouver un bon tutorial écrit par SQLPro au sujet du SQL

Tu trouveras le dernier update des compo interbaseexpress sur le Code Central de Borland et l'article suivant :

http://community.borland.com/article/0,1410,27653,00.htm est pas mal.

Attention, je pense que pour accèder à ces parties du site de Borland tu dois être inscrit dans la Communauté de Borland




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

Vincent Stryckmans.
0
josswel Messages postés 67 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 3 juin 2009
27 juin 2005 à 06:42
Merci vincent je vais essayer de suivre ton conseil . En effet j'ai
aussi l'habitude d'tiliser les TIb mais j'ai remarque recement que avec
les bde et tinterbase tu peux faire le transfert des donner d'une table
d'un seul coup dans un gridview et reciproquement ;

Merci
0
josswel Messages postés 67 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 3 juin 2009
27 juil. 2005 à 14:57
vincent peux tu me dire stp comment on fait pour se connecte a interbase dans un prog car j'ai fait ceci et cela marche pas :



with IBDatabse1 do

Begin

DatabaseName := 'ecq';

DriverName := 'INTRBASE';

Params.Clear;


Params.Add('SERVER NAME= '+ PathAppli +
'\Data\MYDB.GDB');

LoginPrompt := False;

Params.Clear;

Params.Add('user_name=SYSDBA');

Params.Add('password=masterkey');

LoginPrompt := False;

Connected := True;

table1.TableName := 'post_ope' ;

End ; et je voudfrai aussi changer le sydba ainsi que le password mais je ne trouve pas .

tu pourrais me donner un adresse ou je pourrai trouver un tut pour interbase et en francais car l'anglais c pas mon point fort
0
Rejoignez-nous