Creation dynamique base de donnée

strong_prince
Messages postés
5
Date d'inscription
vendredi 29 décembre 2006
Dernière intervention
7 décembre 2012
- 7 déc. 2012 à 20:05 - Dernière réponse : bruce75
Messages postés
42
Date d'inscription
samedi 24 janvier 2009
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
Afficher la suite 

Votre réponse

21 réponses

cs_cantador
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
- 7 déc. 2012 à 22:03
0
Merci
Bonsoir,

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

script SQL


cantador
Commenter la réponse de cs_cantador
beckerich
Messages postés
308
Date d'inscription
jeudi 29 septembre 2005
Dernière intervention
17 septembre 2013
- 7 déc. 2012 à 22:35
0
Merci
bonsoir Cantador,

le lien du script n'est pas un lien

Luc .
Commenter la réponse de beckerich
cs_cantador
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
- 8 déc. 2012 à 12:42
0
Merci
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
Commenter la réponse de cs_cantador
Caribensila
Messages postés
2684
Date d'inscription
jeudi 15 janvier 2004
Dernière intervention
26 juillet 2018
- 8 déc. 2012 à 17:08
0
Merci
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...
Commenter la réponse de Caribensila
cs_cantador
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
- 9 déc. 2012 à 16:38
0
Merci
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
Commenter la réponse de cs_cantador
Caribensila
Messages postés
2684
Date d'inscription
jeudi 15 janvier 2004
Dernière intervention
26 juillet 2018
- 9 déc. 2012 à 19:57
0
Merci
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.
Commenter la réponse de Caribensila
cs_cantador
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
- 9 déc. 2012 à 23:03
0
Merci
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
Commenter la réponse de cs_cantador
cs_MAURICIO
Messages postés
2233
Date d'inscription
mardi 10 décembre 2002
Dernière intervention
15 décembre 2014
- 10 déc. 2012 à 10:25
0
Merci
"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.
Commenter la réponse de cs_MAURICIO
korgis
Messages postés
423
Date d'inscription
samedi 17 mai 2003
Dernière intervention
4 août 2018
- 10 déc. 2012 à 12:00
0
Merci
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
Commenter la réponse de korgis
cs_cantador
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
- 10 déc. 2012 à 13:15
0
Merci
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
Commenter la réponse de cs_cantador
Utilisateur anonyme - 10 déc. 2012 à 20:55
0
Merci
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 ?
Commenter la réponse de Utilisateur anonyme
cs_cantador
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
- 10 déc. 2012 à 21:58
0
Merci
et Francky23012301 dans le role du barde !


cantador
Commenter la réponse de cs_cantador
cs_cantador
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
- 11 déc. 2012 à 09:00
0
Merci
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
Commenter la réponse de cs_cantador
Utilisateur anonyme - 11 déc. 2012 à 09:31
0
Merci
Assurancetourix c'est le barde
Commenter la réponse de Utilisateur anonyme
cs_cantador
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
- 11 déc. 2012 à 16:37
0
Merci
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
bruce75
Messages postés
42
Date d'inscription
samedi 24 janvier 2009
Dernière intervention
18 mars 2016
- 18 mars 2016 à 22:12
Merci beaucoup pour cet exemple
Commenter la réponse de cs_cantador
Caribensila
Messages postés
2684
Date d'inscription
jeudi 15 janvier 2004
Dernière intervention
26 juillet 2018
- 11 déc. 2012 à 18:52
0
Merci
Te fatigue pas, Cantador.

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

Qu'est-ce que je fais du corps, maintenant ?
Commenter la réponse de Caribensila
cs_MAURICIO
Messages postés
2233
Date d'inscription
mardi 10 décembre 2002
Dernière intervention
15 décembre 2014
- 11 déc. 2012 à 18:55
0
Merci
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.
Commenter la réponse de cs_MAURICIO
Caribensila
Messages postés
2684
Date d'inscription
jeudi 15 janvier 2004
Dernière intervention
26 juillet 2018
- 11 déc. 2012 à 19:00
0
Merci
J'vais l'mettre dans l'except.
C'est pas très passant par-là.
Commenter la réponse de Caribensila
cs_cantador
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
- 11 déc. 2012 à 19:51
0
Merci
une photo..
une photo..


cantador
Commenter la réponse de cs_cantador
cs_cantador
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
- 15 déc. 2012 à 22:56
0
Merci
le musicien est fâché..


cantador
Commenter la réponse de cs_cantador

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.