Autor |
Beitrag |
sTk
      
Beiträge: 70
Win 2000, Win XP
Turbo Delphi Pro, D2005 PE, Lazarus
|
Verfasst: Do 06.05.10 11:25
Hallo!
Ich habe ein DBGrid welches über eine DataSource auf ein Query zugreift, welches wiederum Datensätze aus zwei Paradox-Tabellen liest. So weit so gut, das funktioniert(wenn auch mit viel Hilfe, bin blutiger Anfänger bei Datenbanken  )
Jetzt ist es allerdings nicht mehr möglich, die Daten einfach im DBGrid zu ändern.
Kennt jemand von euch eine Möglichkeit, wie ich es hin bekomme, dass eben das funktioniert.
Vielen Dank schonmal.
Gruß, Steffen
|
|
sTk 
      
Beiträge: 70
Win 2000, Win XP
Turbo Delphi Pro, D2005 PE, Lazarus
|
Verfasst: Mi 15.12.10 14:28
Hallo,
das Problem besteht leider immer noch.
Also falls jemand einen Lösungsansatz hat, bitte melden.
Dankeschön.
Gruß, Steffen
|
|
Tranx
      
Beiträge: 648
Erhaltene Danke: 85
WIN 2000, WIN XP
D5 Prof
|
Verfasst: Mi 15.12.10 15:21
Ich habe leider kein Paradox, um das zu testen. Möglicherweise gibt es eine spezielle SQL-Abfrage, mit der so etwas möglich ist (wird dann in der Eigenschaft SQL eingegeben).
Jedoch taucht meines Erachtens ein großes Problem auf. In welcher der beiden Datentabellen sollen denn die Daten gespeichert werden? Bei vorhandenen Daten mag das ja noch gehen, doch was ist mit neuen Daten (Insert, Append)? Ich befürchte, was Du da vorhast, wird daran scheitern und deshalb setzt Delphi dann die Canmodify-Eigenschaft der Query auf FALSE. Dann ist eine Bearbeitung nicht möglich.
Zuerst aber: Welchen Wert hat RequestLive der Query? TRUE oder FALSE. Mit F11 bei angeklickter Query siehst Du die Eigenschaften. Damit Werte geändert werden müssen, muss RequestLive auf TRUE stehen.
_________________ Toleranz ist eine Grundvoraussetzung für das Leben.
|
|
Critter
      
Beiträge: 328
Erhaltene Danke: 3
Windows 7
Delphi 7 Pro.
|
Verfasst: Mi 15.12.10 19:06
Hi,
ich meine mich erinnern zu können, das einige DBs das hingekommen, bei einfachen und eindeutigen Joins. Ob Paradox das allerdings kann ist mir unbekannt und da ich von dem System nicht viel erwarte würde ich eher vermuten, dass nicht.
Wie sieht denn dein Query aus?
critter
_________________ Diejenigen, die grundlegende Freiheiten aufgeben, um ein wenig mehr vorrübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit.
(Benjamin Franklin;"The Papers of Benjamin Franklin", Vol. 6, Apr. 1, 1755, through Sep. 30, 1756)
|
|
Tranx
      
Beiträge: 648
Erhaltene Danke: 85
WIN 2000, WIN XP
D5 Prof
|
Verfasst: Do 16.12.10 04:42
Vergaß noch zu erwähnen, dass - ich habe es bei DBase beobachtet - Querys ebenfalls keine Änderungen zuließen, wenn die Tabelle (und hier war es immer nur eine Tabelle) sortiert war und das Sortierfeld nicht von DBase selber indiziert war. Möglicherweise reagiert Paradox ähnlich. Bei Access ist das mit dem Sortieren überhaupt kein Problem mehr, da benötigt man nicht unbedingt ein Index auf dem Feld. Da könntest Du ja z.B. die deine beiden Tabellen in Access in einer Abfrage zusammenfassen und anschließend in Delphi als TQuery oder TTable ansprechen.
Ist nur ein Vorschlag.
_________________ Toleranz ist eine Grundvoraussetzung für das Leben.
|
|
zuma
      
Beiträge: 660
Erhaltene Danke: 21
Win XP, Win7, Win 8
D7 Enterprise, Delphi XE, Interbase (5 - XE)
|
Verfasst: Do 16.12.10 09:17
Oft liegt es daran, das die Datenmenge, die gelesen wird, einen Join enthält.
Eine Möglichkeit, gejointe Datenmengen trotzdem editierbar zu machen, ist, diese in ein Clientdataset zu schreiben und dieses dann zur Anzeige und Bearbeitung zu benutzen.
Es gibt dann also 3 Aufgabenbereiche:
1) Daten mit Query lesen und in Clientdataset legen (abschreiben)
2) Daten anzeigen und bearbeiten lassen mit DBGrid, verbunden mit dem Clientdataset
3) Daten aus Clientdataset mit Query in Datenbank schreiben
Somit trennst du dann auch das Lesen / Bearbeiten und Schreiben der Daten in eigene Prozeduren.
_________________ Ich habe nichts gegen Fremde. Aber diese Fremden sind nicht von hier! (Methusalix)
Warum sich Sorgen ums Leben machen? Keiner überlebts!
|
|
bummi
      
Beiträge: 1248
Erhaltene Danke: 187
XP - Server 2008R2
D2 - Delphi XE
|
Verfasst: Do 16.12.10 09:35
oder vielleicht doch mal auf eine zeitgemäße DBM umsteigen.
_________________ Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
|
|
Critter
      
Beiträge: 328
Erhaltene Danke: 3
Windows 7
Delphi 7 Pro.
|
Verfasst: Do 16.12.10 11:15
bummi hat folgendes geschrieben : | oder vielleicht doch mal auf eine zeitgemäße DBM umsteigen. |
Das könnte dann auch weitere noch kommende Probleme lösen.
critter
_________________ Diejenigen, die grundlegende Freiheiten aufgeben, um ein wenig mehr vorrübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit.
(Benjamin Franklin;"The Papers of Benjamin Franklin", Vol. 6, Apr. 1, 1755, through Sep. 30, 1756)
|
|
|