Creation dynamique base de donnée

strong_prince Messages postés 5 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 7 décembre 2012 - 7 déc. 2012 à 20:05
bruce75 Messages postés 43 Date d'inscription samedi 24 janvier 2009 Statut Membre Dernière intervention 18 mars 2016 - 18 mars 2016 à 22:12
bonsoir
je suis actullement entraint de developper un appli de gestion sous delphi 7 et interbase ma question est la suivante: je voudrais savoir si c'est possible de creer une nouvelle base a chaque excercice annuel, je sais le faire avec une bases paradox dynamiquement mais avec interbase sa coince une peut
cordialement

20 réponses

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 14
7 déc. 2012 à 22:03
Bonsoir,

mais non mais non..
c'est exactement la même chose :

script SQL


cantador
0
beckerich Messages postés 302 Date d'inscription jeudi 29 septembre 2005 Statut Membre Dernière intervention 17 septembre 2013 2
7 déc. 2012 à 22:35
bonsoir Cantador,

le lien du script n'est pas un lien

Luc .
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 14
8 déc. 2012 à 12:42
oui, car ici, on ne fait pas le boulot des autres..
il faut que strong_prince
apprenne à chercher et poser des questions.

Il existe quelques modèles de script SQL sur le net
il suffit de les adapter à son problème.

on va le laisser mariner un peu et s'il revient, on lui donnera un court
et simple exemple.

cantador
0
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
8 déc. 2012 à 17:08
Ah bon ?
On ne leur donne même plus de lien ?
( 'pas l'air de bon poil, Cantador... )


...

Et si on leur donnait une grande baffe avant qu'ils posent la question ?
Là, ils feraient gaffe !
Non mais...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 14
9 déc. 2012 à 16:38
un lien vers un script c'est donner le script..
et puis selon la complexité de la base, on peut en créer
plusieurs..

CS, ce n'est pas une plage où l'on jette une bouteille à la mer..

pour chercher

MotClé : CreateDatabase

Mais lorsque l'ami strong_prince nous en dira un peu plus, on
fera un pas de plus aussi..

J'aime bien quand il y a un minimum d'échanges..
sinon c'est triste..

mais le coup de pied avant la question, c'est quand même une idée à retenir

qui pourrait se traduire par un petit message à l'écran ou Cari en tutu ou en train de manger une tarte aux concombres
histoire de déstabiliser l'animal et le rendre plus docile..

non ?
qu'en penses-tu ?

cantador
0
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
9 déc. 2012 à 19:57
Moi, je trouve que Delphi c'est déjà pas mal pour qu'ils arrivent pas très stables...

Maintenant, si 'faut une tarte en plus, on leur donnera.
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 14
9 déc. 2012 à 23:03
hé, hé , oui, tu as raison..
pour devenir un bon programmeur delphi, il faut en baver et taper du code.
pas sûr qu'une tarte suffise..

mais pour le questionneur on aura tous compris :
c'est le devoir du week-end à rendre pour lundi qu'il nous refile.

cantador
0
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
10 déc. 2012 à 10:25
"c'est le devoir du week-end à rendre pour lundi qu'il nous refile"
N´oublions pas que Cantador a répondu à la question: oui, c' est possible.
Après, on est pas lá pour faire le travail à leur place.
S' il avait demandé la travail tout fait, il n' aurait même pas eu de réponse.

Débutant ou pas, on est lá pour aprendre et pas faire du copier/coller.
De plus, pour quelqu' un qui utilise déjà Interbase, il devrait avoir lu au moins un tuto et donc, grâce à une base de connaissances suffisante, il lui aurait été facile de trouver la réponse sur le net (chose difficile il y a 15 ans).
L' information est si facile à trouver de nos jours que l' on se donne même plus la peine de chercher: on pose la question et on attend que quelqu' in y répond ...

Maurício


Composants Cindy pour Delphi
Faites une donation.
0
korgis Messages postés 420 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 6 mai 2019 17
10 déc. 2012 à 12:00
on va le laisser mariner un peu et s'il revient, on lui donnera un court
et simple exemple


[b]Un jour strong_prince r'viendra...
La, la, la la, la la.../b
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 14
10 déc. 2012 à 13:15
bon allez c'est noël...

voilà un script SQL miniscule qui créé automatiquement une base firebird
Data.fdb avec un table TEST comprenant trois champs
(une clé primaire CODETEST, un champ NUMERO (numérique) et un autre NOM (string)

Le page size est à 8192 (c'est la mémoire nécessaire au stockage des pages)
le user et password sont les codes par défaut

le collate FR_FR est nécessaire pour gérer les tris dans les tables selon la norme française.

CREATE DATABASE 'c:\test\data.fdb' page_size 8192
user 'SYSDBA' password 'masterkey';

CREATE TABLE TEST (
  CODETEST INTEGER NOT NULL,
  NUMERO INTEGER,
  NOM CHAR(18) CHARACTER SET ISO8859_1 COLLATE FR_FR);

SET TERM ^ ;



il suffit de coller ce script dans un éditeur SQL et cliquer sur GO.

la suite au prochain numéro

cantador
0
Utilisateur anonyme
10 déc. 2012 à 20:55
Après Strong_Prince dans le role du Gaulois, Cari dans le role d'Obelix et le coup de tatanes dans ta gueule, Korgis dans le role d'Assurancetourix, il reste plus que le role du chien à pourvoir : Un volontaire ?
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 14
10 déc. 2012 à 21:58
et Francky23012301 dans le role du barde !


cantador
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 14
11 déc. 2012 à 09:00
petit correctif :

SET TERM ^ ;

CREATE DATABASE 'c:\temp\data.fdb' page_size 8192
user 'SYSDBA' password 'masterkey';

CREATE TABLE TEST (
  CODETEST INTEGER NOT NULL,
  NUMERO INTEGER,
  NOM CHAR(18) CHARACTER SET ISO8859_1 COLLATE FR_FR);

SET TERM ;^


c'est bon pour le script SQL mais il reste encore à traiter
le codage sous delphi..


cantador
0
Utilisateur anonyme
11 déc. 2012 à 09:31
Assurancetourix c'est le barde
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 14
11 déc. 2012 à 16:37
tu mets Korgis dans le rôle de panoramix et
tu gardes le barde


voilà une suite possible :
procedure TForm1.CreateDatabase(ADBFileName: TFilename);
var
  IBDataBase: TIBDatabase;
  IBTransaction: TIBTransaction;
  IBSQL: TIBSQL;
begin
  IBDataBase := TIBDatabase.Create(nil);
  IBTransaction := TIBTransaction.Create(nil);
  IBSQL := TIBSQL.Create(nil);

  try
    IBDataBase.SQLDialect := 3;
    IBDataBase.Params.Clear;
    IBDataBase.DatabaseName := ADBFileName;
    IBDataBase.Params.Add('USER "SYSDBA"');
    IBDataBase.Params.Add('PASSWORD "masterkey"');
    IBDataBase.Params.Add('PAGE_SIZE 8192');
    IBDataBase.CreateDatabase;
    IBSQL.Database := IBDataBase;
    IBSQL.Transaction := IBTransaction;
    IBSQL.Transaction.DefaultDatabase := IBDataBase;
    IBDataBase.Connected := true;

    IBSQL.Transaction.StartTransaction;  // début transaction

    try
// création table
      IBSQL.SQL.Add('CREATE TABLE TEST (CODETEST INTEGER DEFAULT 0 NOT NULL, NUMERO INTEGER, NOM CHAR(18) CHARACTER SET ISO8859_1 COLLATE FR_FR) ');
      IBSQL.ExecQuery;

//      IBTransaction.CommitRetaining; // validation partielle possible

      IBSQL.SQL.Clear;

// création de la clé primaire

      IBSQL.SQL.Add('ALTER TABLE TEST ADD PRIMARY KEY (CODETEST); ');
      IBSQL.ExecQuery;

//      IBTransaction.CommitRetaining;  // validation partielle possible

      IBSQL.ExecQuery;

      IBTransaction.Commit;              // fin transaction

      IBSQL.Close;

    except
      IBTransaction.Rollback;
      showmessage('erreur..');
      exit;
    end;

    ShowMessage('la création de la base est terminée !');

  finally
    IBDataBase.Connected := false;
    FreeAndNil(IBTransaction);
    FreeAndNil(IBDataBase);
    FreeAndNil(IBSQL);
  end;
end;


le traitement d'erreur n'est pas top..

on peut encore compléter par des créations de TRIGGER, GENERATORS et autres CONTRAINTES etc..

cantador
0
bruce75 Messages postés 43 Date d'inscription samedi 24 janvier 2009 Statut Membre Dernière intervention 18 mars 2016
18 mars 2016 à 22:12
Merci beaucoup pour cet exemple
0
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
11 déc. 2012 à 18:52
Te fatigue pas, Cantador.

strong_prince n'a pas résisté à l'interrogatoire.

Qu'est-ce que je fais du corps, maintenant ?
0
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
11 déc. 2012 à 18:55
Bem vu qu' on a le script de création d' une base de données, t' as qu' à le mettre dedans ...



Composants Cindy pour Delphi
Faites une donation.
0
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
11 déc. 2012 à 19:00
J'vais l'mettre dans l'except.
C'est pas très passant par-là.
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 14
11 déc. 2012 à 19:51
une photo..
une photo..


cantador
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 14
15 déc. 2012 à 22:56
le musicien est fâché..


cantador
0
Rejoignez-nous