AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firebird: Bi-direktionaler Datenbankzugriff

Firebird: Bi-direktionaler Datenbankzugriff

Ein Thema von Angel4585 · begonnen am 2. Dez 2013 · letzter Beitrag vom 4. Dez 2013
Antwort Antwort
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#1

Firebird: Bi-direktionaler Datenbankzugriff

  Alt 2. Dez 2013, 13:10
Datenbank: Firebird • Version: 2.5.2 • Zugriff über: DBexpress
Hallo!

Ich möchte die Daten aus einer Firebird-Tabelle in einem DBGrid anzeigen, bearbeiten und darin navigieren.
Nun bekomme ich jedesmal wenn ich die Anwendung starte diese Meldung:
Zitat:
Diese Operation ist bei einer unidirektionalen Datenmenge nicht gestattet.
Jetzt habe ich mir die DBexpress-Komponenten angeschaut, konnte aber keine finden, die Bi-direktional ist.
Die sind laut Hilfe alle unidirektional.

Was nun?
Ich habe auch kein Tutorial gefunden wie man eine bi-direktionale Verbindung zur Datenbank aufbauen kann ( oder hab einfach nach den falschen Begriffen gesucht? )
Lediglich auf die Komponenten TClientDataset und TDataSetProvider bin ich bei meiner Suche gestoßen, aber keine Hilfe wie man die anwendet.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
689 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

AW: Firebird: Bi-direktionaler Datenbankzugriff

  Alt 2. Dez 2013, 13:17
Du musst die Daten erst in das TClientDataset bringen. Dazu nimmst Du den TDatasetProvider;
Also TQuery -> TDataSetProvider.DataSource -> TClientDataset.ProviderName -> TDataSource.DataSource -> Grid

Das TClientDataset musst Du dann öffnen, um die Daten im Grid anzuzeigen.
Jens
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#3

AW: Firebird: Bi-direktionaler Datenbankzugriff

  Alt 3. Dez 2013, 10:55
Danke, so funktioniert das schon besser.

Eine Frage möchte ich aber noch anschieben:
Wenn ich im DBGrid einen neuen Datensatz erstelle, wird dieser nicht in die Datenbank gespeichert.
Bei einem TClientDataSet kann ich das über ApplyUpdates regeln, aber wie geht das bei einer TSQLQuery die ich direkt verwende?
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
4.373 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

AW: Firebird: Bi-direktionaler Datenbankzugriff

  Alt 3. Dez 2013, 11:01
Moin...

Was hälst du von anderen DB Zugriffskomponenten um die Komponentenorgie etwas zu verkürzen?
DBExpress:
TQuery -> TDataSetProvider.DataSource -> TClientDataset.ProviderName -> TDataSource.DataSource -> Grid
Zeos (kostenlos) und auch kostenpflichtige
TZQuery -> TDataSource-> Grid

...und mit "Bi-direktionaler Datenbankzugriff" keine Probleme
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
26.965 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Firebird: Bi-direktionaler Datenbankzugriff

  Alt 3. Dez 2013, 11:05
Wenn es nur um Firebird geht, würde ich als kostenlose Zugriffskomponenten Unified Interbase (UIB) ins Auge fassen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
grl

Registriert seit: 5. Feb 2007
169 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Firebird: Bi-direktionaler Datenbankzugriff

  Alt 3. Dez 2013, 15:57
Wenn es nur um Firebird geht, würde ich als kostenlose Zugriffskomponenten Unified Interbase (UIB) ins Auge fassen.
Gemeinsam mit dem FBDataset sind die wirklich gut und flexibel.

Allerdings ist die Homepage mit dem User-Forum weg - weiß jemand was da los ist?

GRL
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#7

AW: Firebird: Bi-direktionaler Datenbankzugriff

  Alt 4. Dez 2013, 07:33
Danke euch, aber ich hab die Vorgabe es mit TClientDataSet und dbExpress zu machen.

Habs jetzt auch hinbekommen indem ich eine Transaktion um die Query(ies) mache.
Bin noch bissl neu was diese Komponenten angeht, hab vorher fast nur mit der BDE gearbeitet.

Jetzt bekomme ich aber schon den nächsten Fehler, mühsam
Aber diesmal: Neuer Fehler neuer Thread würd ich sagen
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf