IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

BlackfishSQL et mise à jour des modifications


Sujet :

Bases de données Delphi

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Points : 4
    Points
    4
    Par défaut BlackfishSQL et mise à jour des modifications
    Bonjour à tous les développeurs.
    Voilà mon problème est le suivant:
    Je développe une application de base de données avec BlackfishSQL en utilisant les composants DBExpress.
    Dans mon DataModule1 les composants sont :
    1. 'SQLConnection1'
    2. 'SQLDataSET1'
    3. 'DataSetProvider1'
    4. 'ClientDataSet1',
    5. 'DataSource1'.
    Dans la fiche principale j'ai déposé une DBGrid1.
    Connection : SQLConnection1 est connecté à JDS_MABASE (Driver:Blackfish)
    SQLDataSEt1 a dans sa propriété SQLConnection:SQLConnection1 et dans la propriété
    CommandText : select*from infos_société
    DataSetProvider1 a dans sa propriété DataSet : SQLDataSet1
    ClientDataSet1 a dans sa propriété ProviderName : DataSetProvider1
    Dans la fiche principale j’ai naturellement des boutons de navigation et un bouton de confirmation des mises à jour dans la base de données. La procédure écrite dans l’évènement OnClick du bouton est la suivante :
    Procedure TForm1.Button1OnClick (Sender: TObject);
    Begin
    If DataModule1.ClientDataSet1.state in [dsEdit, dsInsert] then
    DataModule1.ClientDataSet1.ApplyUpdates (-1);
    End ;
    J’ai écrit la même instruction dans l’évènement OnClose de la fiche principale pour une sécurité de sauvegarde des modifications.
    En ouvrant l’explorateur de données dans Delphi et en actualisant ma table, je constate que les modifications n’ont pas été effectuées.
    Une aide de votre part me serait précieuse.
    Merci à tous !!!!!

  2. #2
    Membre émérite
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 496
    Points : 2 762
    Points
    2 762
    Billets dans le blog
    10
    Par défaut
    DBExpress donne un accès en lecture seule à ta table. Les données dans le buffer local sont actualisées mais pas reportées dans la table. Il faut utiliser ADO pour réaliser les opérations de mise à jour.

  3. #3
    Membre émérite
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 496
    Points : 2 762
    Points
    2 762
    Billets dans le blog
    10
    Par défaut
    Finalement j'ai refais un essai avec Delphi 2009 celà marche J'ai une table T1 avec une colonne C1
    voila les sources
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Create Table T1 (C1 CHARACTER (10))
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    unit ex02a;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, WideStrings, DbxBlackfishSQL, FMTBcd, ExtCtrls, DBCtrls, DB, SqlExpr,
      Grids, DBGrids, Provider, DBClient, StdCtrls;
     
    type
      TForm2 = class(TForm)
        SQLConnection1: TSQLConnection;
        DBNavigator1: TDBNavigator;
        SQLDataSet1: TSQLDataSet;
        DataSource1: TDataSource;
        ClientDataSet1: TClientDataSet;
        DataSetProvider1: TDataSetProvider;
        ClientDataSet1C1: TWideStringField;
        DBGrid1: TDBGrid;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form2: TForm2;
     
    implementation
     
    {$R *.dfm}
     
    procedure TForm2.Button1Click(Sender: TObject);
    begin
    ClientDataSet1.ApplyUpdates(-1);
    end;
     
    end.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    object Form2: TForm2
      Left = 0
      Top = 0
      Caption = 'Form2'
      ClientHeight = 381
      ClientWidth = 667
      Color = clBtnFace
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clWindowText
      Font.Height = -13
      Font.Name = 'Tahoma'
      Font.Style = []
      OldCreateOrder = False
      PixelsPerInch = 120
      TextHeight = 16
      object DBNavigator1: TDBNavigator
        Left = 440
        Top = 8
        Width = 240
        Height = 25
        DataSource = DataSource1
        TabOrder = 0
      end
      object DBGrid1: TDBGrid
        Left = 8
        Top = 72
        Width = 465
        Height = 249
        DataSource = DataSource1
        TabOrder = 1
        TitleFont.Charset = DEFAULT_CHARSET
        TitleFont.Color = clWindowText
        TitleFont.Height = -13
        TitleFont.Name = 'Tahoma'
        TitleFont.Style = []
      end
      object Button1: TButton
        Left = 528
        Top = 136
        Width = 75
        Height = 25
        Caption = 'Button1'
        TabOrder = 2
        OnClick = Button1Click
      end
      object SQLConnection1: TSQLConnection
        ConnectionName = 'ESSAI'
        DriverName = 'BLACKFISHSQL'
        LoginPrompt = False
        Params.Strings = (
          'drivername=BLACKFISHSQL'
          'password=masterkey'
          'user_name=sysdba'
          'port=2508'
          'create=True'
          'readonlydb=False'
          'hostname=LocalHost'
          'database=C:\Documents and Settings\ALAIN\Bureau\aa\essai.jds')
        Connected = True
        Left = 40
        Top = 8
      end
      object SQLDataSet1: TSQLDataSet
        SchemaName = 'DEFAULT_SCHEMA'
        Active = True
        CommandText = 'T1'
        CommandType = ctTable
        DbxCommandType = 'Dbx.Table'
        MaxBlobSize = -1
        Params = <>
        SQLConnection = SQLConnection1
        Left = 144
        Top = 8
      end
      object DataSource1: TDataSource
        DataSet = ClientDataSet1
        Left = 384
        Top = 8
      end
      object ClientDataSet1: TClientDataSet
        Active = True
        Aggregates = <>
        Params = <>
        ProviderName = 'DataSetProvider1'
        Left = 296
        Top = 8
        object ClientDataSet1C1: TWideStringField
          FieldName = 'C1'
          Required = True
          Size = 10
        end
      end
      object DataSetProvider1: TDataSetProvider
        DataSet = SQLDataSet1
        Left = 216
        Top = 8
      end
    end

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 08/04/2014, 16h49
  2. Réponses: 2
    Dernier message: 12/08/2011, 14h07
  3. Réponses: 2
    Dernier message: 21/04/2007, 20h19
  4. Réponses: 5
    Dernier message: 08/03/2007, 10h13
  5. [EJB3] Mise à jour des Entity coté serveur si modif coté client
    Par SeeNapse dans le forum Java EE
    Réponses: 8
    Dernier message: 23/01/2007, 07h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo