Précédent   Forum des professionnels en informatique > Bases de données > Firebird
Firebird Forum d'entraide sur le SGBD Firebird. Avant de poster -> F.A.Q Firebird, Tutoriels
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/12/2010, 09h23   #1
Nouveau Membre du Club
 
Avatar de zoheir13
 
Inscription : décembre 2006
Messages : 114
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 114
Points : 33
Points : 33
Par défaut génération script sql

Salut,
Comment générer un script SQL des données d'une requette
zoheir13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2010, 11h15   #2
Membre habitué
 
Inscription : mai 2006
Messages : 200
Détails du profil
Informations personnelles :
Âge : 40

Informations forums :
Inscription : mai 2006
Messages : 200
Points : 105
Points : 105
Voilà si vous utilisez delphi, sinon vous pouvez facilement le convertir.
Vous devez exécutez la requête puis appelez cette fonction avec comme paramètre le nom de la requête.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 
procedure Formuler(Query1:TDataSet);
var INSERT    : String;
    FIELDS    : String;
    Params    : String;
    FIELD     :string;
    I         : Integer;
    req       :TSTringList;
Begin
  req:=TStringList.CREATE;
  INSERT := 'INSERT INTO  (';
 
  FOR I:=0 TO Query1.FIELDS.Count-1 Do
  Begin
    IF (Query1.FIELDS[I].FieldKind = fkData) Then
    Begin
      IF ( I > 0 ) Then
        FIELDS := FIELDS + ', ';
      FIELDS := FIELDS + Query1.FIELDS[I].FieldName;
    End;
  End;
 
  FIELDS := FIELDS + ')';
 
Query1.First;
While NOT(Query1.Eof) Do
Begin
  req.ADD( INSERT );
  req.ADD( FIELDS );
  Params := 'VALUES (';
  FOR I:=0 TO Query1.FIELDS.Count-1 Do
  Begin
    IF (Query1.FIELDS[I].FieldKind = fkData) Then
    Begin
      IF ( I > 0 ) Then Params := Params + ', ';
      IF (Query1.FIELDS[I] IS TStringField) then FIELD:='"'+Query1.FIELDS[i].AsString+'"'
                                            else FIELD:=Query1.FIELDS[i].AsString;
      Params := Params + FIELD;
    End;
  End;
  Params := Params + ')';
  req.ADD( Params );
  Query1.Next;
End;
req.SaveToFile('c:\resultat.sql');
req.free;
end;
kaouane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2010, 10h41   #3
Nouveau Membre du Club
 
Avatar de zoheir13
 
Inscription : décembre 2006
Messages : 114
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 114
Points : 33
Points : 33
Merci
zoheir13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h28.


 
 
 
 
Partenaires

Hébergement Web