Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DB-Controls weigern sich (https://www.delphipraxis.net/167103-db-controls-weigern-sich.html)

Codewalker 13. Mär 2012 16:04

Datenbank: Firebird • Version: 2.5 • Zugriff über: UIB

DB-Controls weigern sich
 
Hallo zusammen.

Ich bin auf der Fehlersuche und habe von meiner Seite alles bekannte ausgeschlossen und hoffe hier auf Hilfe. Das Problem ist, dass ich in einem Frame einige datenbankgebundene Controls habe (genau: TcxDBTextEdit, gebunden an ein TUIBDataSet). Ich bekomme auch alle Datenbankinhalte angezeigt, aber ich kann nichts verändern. Folgendes habe ich überprüft:
  1. DataSet.AutoEdit = true
  2. Feld im DataSet ist nicht ReadOnly
  3. Feld im DataSet ist FieldKind fkData
  4. cxDBTextEdit korrekt an Dataset gebunden
  5. cxDBTextEdit ist ebenfalls nicht readonly
Das wären so meine üblichen Verdächtigen gewesen. Woran kann das denn noch liegen?

mschaefer 13. Mär 2012 16:32

AW: DB-Controls weigern sich
 
Da kann man nur mit Fuzzy-Logik rangehen. Ist Dein Frame vielleicht auf inaktiv geschaltet? Laufen die Komponenten aussrhalb des Frames korrrekt?

Codewalker 13. Mär 2012 16:42

AW: DB-Controls weigern sich
 
Zitat:

Zitat von mschaefer (Beitrag 1156358)
Ist Dein Frame vielleicht auf inaktiv geschaltet? Laufen die Komponenten aussrhalb des Frames korrrekt?

Auf dem Form sind noch ein QuantumGrid (mit statischen Daten) und einige Buttons. Die funktionieren alle korrekt, es liegt also nicht direkt am Frame

mschaefer 13. Mär 2012 16:48

AW: DB-Controls weigern sich
 
Tja es gibt auch SQL-Joins, die eine Datenmenge ReadOnly machen. Kannst Du Deine Daten im Grid Edieren?

Codewalker 13. Mär 2012 16:51

AW: DB-Controls weigern sich
 
Die Daten in der Grid sind statisch, daher ist da editieren gar nicht vorgesehen.
Die Abfrage für das DataSet das hinter dem TextEdit liegt ist simpel
Code:
SELECT *
 FROM USERS
 WHERE USERS.USERID = '%s'
Die Tabelle hat 2 Spalten, UserID und Name. Das cxDBTextEdit ist an das Feld Name gebunden.

mschaefer 13. Mär 2012 16:55

AW: DB-Controls weigern sich
 
Du machst es aber auch knifflig. Wie verhält sich das denn, wenn Du das Grid mal vom DataSet abklemmst? Bei diesen machtigen Komponenten hat man manchmal transilvanische Zustände.

Bebe 13. Mär 2012 18:05

AW: DB-Controls weigern sich
 
Hallo,

in deiner Aufzählung fehlt das Dataset selber? Ist das vielleicht ReadOnly = True?

Gruß
Matze

Codewalker 13. Mär 2012 18:20

AW: DB-Controls weigern sich
 
Ein UIBDataset hat diese Eigenschaft gar nicht. Da wäre nur UniDirectional, was aber (meiner Meinung nach richtig) auf False steht

scrat1979 13. Mär 2012 19:16

AW: DB-Controls weigern sich
 
Ich habe momentan mit D2010 und IBDAC genau dasselben Problem. Ich habe ein NextDBGrid mit einer Tabelle (IBCTABLE) über ein DataSource verbunden, alle Einstellungen müssten ein editieren der Daten erlauben. Leider kann ich im Grid keine Daten verändern - den Fehler habe ich bislang nicht gefunden, zugegebenermaßen habe ich auch nocht nicht allzu viel Zeit dafür gehabt. Vielleicht führt der Thread ja zur Lösung :-)

sx2008 14. Mär 2012 06:40

AW: DB-Controls weigern sich
 
Die Datenbank selbst könnte auch Read-Only sein.
Oder der angemeldete User hat nur Leserechte auf der DB.
Bevor man nun weiter im Dunkeln stochert, sollte man testen ob das Datset eine Änderung zulässt:
Delphi-Quellcode:
if UIBDataSet1.IsEmpty then
  raise Exception.Create('bitte min. 1 Datensatz manuell anlegen');
UIBDataSet1.Edit;
UIBDataSet1['Username' {oder irgendein anderes Feld}] := 'test';
UIBDataSet1.Post;


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz